Abstract

The traditional approach to symbolic execution of concurrent programs relies on interleaving the execution of sequential components to model concurrency. This approach suffers from well-known combinatorial problems, making it unsuitable for formal verification. The paper describes an alternate approach that directly supports formal verification. Symbolic execution is based on an axiomatic proof system for concurrent programs, in which processes are verified separately and then checked for cooperation. Two Hoare-style proof systems for tasking subsets of Ada are adapted for this purpose. The result is a computationally tractable approach to symbolic execution which produces verification conditions for proving safety properties of tasking programs. The generation of verification conditions for the partial correctness proof is described in the paper. A companion paper describes the generation of verification conditions for more general safety properties [5]. The isolation approach provides a basis for automating the verification of Ada tasking programs.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.