Verifying General Safety Properties of Ada Tasking Programs.

Saved in:
Bibliographic Details
Title: Verifying General Safety Properties of Ada Tasking Programs.
Authors: Dillon, Laura K.1
Source: IEEE Transactions on Software Engineering. Jan90, Vol. 16 Issue 1, p51-63. 13p. 1 Color Photograph, 3 Diagrams.
Subjects: Ada (Computer program language), Programming languages, Mathematical logic, Computer systems, Telecommunication systems, Electronic systems
Abstract: The isolation approach to symbolic execution of Ada tasking programs provides a basis for automating partial correctness proofs. The strength of this approach lies in its isolation nature; tasks are symbolically executed and verified independently, and then checked for cooperation where interference can occur. This keeps the verification task computationally feasible and enhances its compositionality. Safety, however, is a more appropriate notion of correctness for concurrent programs than partial correctness. This paper shows how the isolation approach to symbolic execution of Ada tasking programs supports the verification of general safety properties. Specific safety properties that are considered include mutual exclusion, freedom from deadlock, and absence of communication failure. The techniques are illustrated using a solution to the readers and writers problem. [ABSTRACT FROM AUTHOR]
Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
Description
Abstract:The isolation approach to symbolic execution of Ada tasking programs provides a basis for automating partial correctness proofs. The strength of this approach lies in its isolation nature; tasks are symbolically executed and verified independently, and then checked for cooperation where interference can occur. This keeps the verification task computationally feasible and enhances its compositionality. Safety, however, is a more appropriate notion of correctness for concurrent programs than partial correctness. This paper shows how the isolation approach to symbolic execution of Ada tasking programs supports the verification of general safety properties. Specific safety properties that are considered include mutual exclusion, freedom from deadlock, and absence of communication failure. The techniques are illustrated using a solution to the readers and writers problem. [ABSTRACT FROM AUTHOR]
ISSN:00985589
DOI:10.1109/32.44363