ACM Home Page
Please provide us with feedback. Feedback
Using symbolic execution for verification of Ada tasking programs
Full text PdfPdf (1.94 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 12 ,  Issue 4  (October 1990) table of contents
Pages: 643 - 669  
Year of Publication: 1990
ISSN:0164-0925
Author
Laura K. Dillon  Univ. of California, Santa Barbara
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 42,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/88616.96551
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
BARRINGER, H., AND MEARNS, {. Axioms and proof rules for Ada tasks. In Proc. IEE 129 (1982), no. pt. E.
 
3
BRAND, D., AND JOYNER, W. H. JR. Verification of protocols using symbolic execution. Comput. Networks 2 (1978), 351-360.
 
4
 
5
 
6
DILLON, L. K., KEMMERER, R. A., AND HARRISON, r.J. An experience with two symbolic execution-based approaches to formal verification of Ada tasking programs. In Proceedings of the 2nd Workshop of Software Testing, Verification, and Analysis (Washington, DC, July 1988). IEEE Computer Society Press, New York, 1988, 114-122.
 
7
FLOYD, R.W. Assigning meanings to programs. In Proceedings of the American Mathematical Society Symposia in Applied Mathematics 19 (1967), 19-31.
 
8
9
10
 
11
HARRISON, L. J., AND KEMMERER, R.A. An interleaving symbolic execution approach for the formal verification of Ada programs with tasking. In Proceedings of the 3rd International IEEE Conference on Ada Applications and Environments (Washington, DC, May 1988), 15-26.
 
12
 
13
KEMMERER, R. A., AND ECKMANN, S. V. UNISEX: A UNix-based symbolic EXecutor for Pascal. Softw. Pract. Exper. 15, 5 (May 1985), 439-457.
 
14
KNIGHT, J. C., AND GRINE, V.S. Symbolic execution of concurrent Ada programs. Tech. Rep., Department of Computer Science, University of Virginia, Charlottesville.
 
15
LAMPORT, r. The "Hoare logic" of concurrent programs. Acta Inf. 14 (1980), 21-37.
16
 
17
LUCKHAM, D. C., HELMBOLD, D. P., MELDAL, S., BRYAN, D. L., AND HABERLER, M.A. Task sequencing language for specifying distributed Ada systems: TSL-1. Tech. Rep., Program Analysis and Verification Group, Computer Systems Laboratory, Stanford University, Stanford, CA, 1987.
 
18
LUCKHAM, D. C., AND VON HENKE, F.W. An overview of Anna, a specification language for Ada. IEEE Softw. (Mar. 1985), 9-22.
 
19
M1SRA, J., AND CHANDY, $. M. Proofs of networks and processes. IEEE Trans. Softw. Eng. SE-7, 4 (July 1981), 417-426.
 
20
21
 
22
YOUNG, M., AND TAYLOR, R. $. Combining static concurrency analysis with symbolic execution. In Proceedings of the Workshop on Software Testing ( July 1986).

CITED BY  8


REVIEW

"D. John Cooke : Reviewer"

The verification of complex systems—which may be concurrent and may not terminate—is very important and usually very difficult. This paper describes a technique for verifying certain concurrent programs by using the established met  more...