Preview

Modeling and Analysis of Information Systems

Advanced search

C Program Verification: VC Explanation and the Standard Library

Abstract

The C program verification project is being developed in IIS. Its latest extension is twofold. First, the labeled variant of axiomatic semantics of the C-kernel language was proposed. The labels, introduced in the calculus, correspond to various concepts inherent in verification conditions (VC). These labels can be extracted from terms and rendered into explanations written in the natural language. User-friendly explanations can play a crucial role in VC understanding and error localization. Second, a subset of the C standard library was specified. The specifications written in ACSL correspond to the C-light memory model. The examples in the paper illustrate the use of these two techniques.

About the Author

A. V. Promsky
Институт систем информатики имени А.П. Ершова СО РАН
Russian Federation


References

1. Baudin P., Filliatre J.C., Marche C., Monate B., Moy Y., Prevosto V. ACSL: ANSI/ISO C Specification Language <http://www.frama-c.cea.fr/download/acsl_1.4.pdf>

2. Cohen E., Dahlweid M., Hillebrand M.A., Leinenbach D., Moskal M., Santen T., Schulte W., Tobies S. VCC: A Practical System for Verifying Concurrent C // Proc. TPHOLs 2009. LNCS. 2009. Vol. 5674. P. 23-42.

3. Denney E., Fischer B. Explaining Verification Conditions // Proc. AMAST 2008. LNCS. 2008. Vol. 5140. P. 145-159.

4. Filliatre J.C., Marche C. Multi-prover verification of C programs // Proc. ICFEM 2004. LNCS. 2004. Vol. 3308. P. 15-29.

5. Fraer R. Tracing the origins of verification conditions. Rocquencourt, 1996. 17 p. (Rapp. / INRIA; N 2840).

6. Leino K.R.M., Millstein T., Saxe J.B. Generating error traces from verification condition counterexamples // Science of Computer Programming. 2005. Vol. 55, N 1-3. P. 209-226.

7. Nepomniaschy V.A., Anureev I.S., Mikhailov I.N., Promsky A.V. Towards verification of C programs. C-Light language and its formal semantics // Programming and Computer Software. 2002. Vol. 28(6). P. 314-323.

8. Nepomniaschy V.A., Anureev I.S., Promsky A.V. Towards verification of C programs: Axiomatic semantics of the C-kernel language // Programming and Computer Software. 2003. Vol. 29(6). P. 338-350.

9. Promsky A.V. Towards C-light program verification: Overcoming the obstacles // Proc. PU-2009, 19-23 June, Altai Mountains, Russia, 2009. P. 53-63.

10. Promsky A.V. Error-tracing semantics for C-kernel // Bull. Nov. Comp. Center, Comp. Science. 2010. 31. P. 123-138.


Review

For citations:


Promsky A.V. C Program Verification: VC Explanation and the Standard Library. Modeling and Analysis of Information Systems. 2011;18(4):157-167. (In Russ.)

Views: 534


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 1818-1015 (Print)
ISSN 2313-5417 (Online)