Using symbolic execution for verification of Ada tasking programs
- 1 October 1990
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 12 (4) , 643-669
- https://doi.org/10.1145/88616.96551
Abstract
A method is presented for using symbolic execution to generate the verification conditions required for proving correctness of programs written in a tasking subset of Ada. The symbolic execution rules are derived from proof systems that allow tasks to be verified independently in local proofs, which are then checked for cooperation. The isolation nature of this approach to symbolic execution of concurrent programs makes it better suited to formal verification than the more traditional interleaving approach, which suffers from combinatorial problems. The criteria for correct operation of a concurrent program include partial correctness, as well as more general safety properties, such as mutual exclusion and freedom from deadlock.Keywords
This publication has 13 references indexed in Scilit:
- An isolation approach to symbolic execution-based verification of Ada tasking programsJournal of Systems and Software, 1991
- Verifying general safety properties of Ada tasking programsIEEE Transactions on Software Engineering, 1990
- A model and temporal proof system for networks of processesDistributed Computing, 1986
- Unisex: A unix-based symbolic executor for pascalSoftware: Practice and Experience, 1985
- A proof system for concurrent ADA programsScience of Computer Programming, 1984
- The ``Hoare Logic'' of CSP, and All ThatACM Transactions on Programming Languages and Systems, 1984
- Axioms and proof rules for Ada tasksIEE Proceedings E Computers and Digital Techniques, 1982
- A Proof System for Communicating Sequential ProcessesACM Transactions on Programming Languages and Systems, 1980
- An Introduction to Proving the Correctness of ProgramsACM Computing Surveys, 1976
- Verifying properties of parallel programsCommunications of the ACM, 1976