Skip to main content

Attribute annotations and their use in C program deductive verification

  • Published:
Automatic Control and Computer Sciences Aims and scope Submit manuscript

Abstract

In this paper, a new kind of annotations called attribute annotations and the methodology for their application in deductive program verification are proposed. A collection of annotating attributes for the C-kernel subset of the C language is described, and, on their basis, two versions of axiomatic semantics of C-kernel—forward semantics and mixed forward semantics—are presented.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Leroy, X., Formal Verification of a Realistic Complier, Commun. ACM, 2009, no. 7, pp. 107–115.

  2. Filliatre, J.C. and Marché, C., Multi-Prover Verification of C Programs, Proc. 6th Int. Conf. on Formal Engineering Methods (ICFEM-04), 2004; Lect. Notes Comput. Sci., 2004, vol. 3308, pp. 15–29.

    Google Scholar 

  3. Leino, K.R.M. and Rümmer, P., A Polymorphic Intermediate Verification Language: Design and Logical Encoding, Proc. 16th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS-2010); Lect. Notes Comput. Sci., 2010, vol. 6015, pp. 312–327.

    Article  Google Scholar 

  4. Leino, K.R.M., Dafny: An Automatic Program Verifier for Functional Correctness, Proc. 16th Int. Conf. on Logical Partition (LPAR-16); Lect. Notes Comput. Sci., 2010, vol. 6355, pp. 348–370.

    MathSciNet  Google Scholar 

  5. Cohen, E., Dahlweid, M., Hillebrand, M., et al., VCC: A Practical System for Verifying Concurrent C, Proc. 22nd Int. Conf. on Theorem Proving in Higher-Order Logics (TPHOLs 2009), Munich, 2009; Lect. Notes Comput. Sci., 2009, vol. 5674, pp. 23–42.

    Article  MathSciNet  Google Scholar 

  6. Alkassar, E., Hillebrand, M.A., Leinenbach, D., Schirmer, N.W., and Starostin, A., The Verisoft Approach to Systems Verification, Proc. 2nd IFIP Working Conf. on Verified Software: Theories, Tools, and Experiments (VSTTE-08); Lect. Notes Comput. Sci., 2008, vol. 5295, pp. 209–224.

    Article  Google Scholar 

  7. Nepomnyashchy, V.A., Anureev, I.S., and Promskii, A.V., Towards Verification of C Programs: Axiomatic Semantics of the C-Kernel Language, Program. Comput. Software, 2003, vol. 29, no. 6, pp. 338–350.

    Article  MathSciNet  Google Scholar 

  8. Nepomniaschy, V.A., Anureev, I.S., and Promsky, A.V., Verification-Oriented Language C-Light and Its Structural Operational Semantics, Proc. of Conf. on Perspectives of System Informatics (PSI-03); Lect. Notes Comput. Sci., 2003, vol. 2890, pp. 1–5.

    Google Scholar 

  9. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promsky, A.V., Towards Verification of C Programs. C-Light Language and Its Formal Semantics, Program. Comput. Software, 2002, vol. 28, no. 6, pp. 314–323.

    Article  MathSciNet  MATH  Google Scholar 

  10. Nepomnyashchy, V., Anureev, I.S., and Promskii, A.V., On the Way to Verification of C Programs. C-Light Language and Its Transformational Semantics, Probl. Programmir., 2006, nos. 2–3, pp. 359–368.

  11. Nepomnyashchy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., C-Light Language Oriented on Verification, in Formal’nye metody i modeli informatiki: Sbornik nauchnykh trudov. Seriya “Sistemnaya informatika” (Formal Methods and Models of Informatics. Collection Sci. Papers. Ser. System Informatics), Novosibirsk: Siber. Otd. Ross. Akad. Nauk RAN, 2004, no. 9, pp. 51–134.

    Google Scholar 

  12. Anureev I.S., Maryasov I.V., Nepomnyashchii V.A. C-Programs Verification Based on Mixed Axiomatic Semantics, Autom. Control Comput. Sci., 2011, vol. 45, no. 7, pp. 485–500.

    Article  Google Scholar 

  13. ISO/IEC 9899: Programming Languages-C, 1999.

  14. Nepomniaschy, V.A. and Sulimov, A.A., Problem-Oriented Means of Program Specification and Verification in Project SPECTRUM, Proc. Int. Symp. on Design and Implementation of Symbolic Computation Systems, (DISCO-93), Gmunden, 1993, Lect. Notes Comput. Sci., 1993, vol. 722, pp. 374–378.

    Article  Google Scholar 

  15. Nepomniaschy, V.A. and Sulimov, F.F., Problem-Oriented Verification System and Its Application to Linear Programs, Theor. Comput. Sci., 1993, vol. 119, pp. 173–185.

    Article  MathSciNet  MATH  Google Scholar 

  16. Nepomnyashchy, V.A., Anureev, I.S., Promsky, A.V., and Dubranovsky, I.V., Towards Verification of C# Programs: A Three-Level Approach, Program. Comput. Software, 2006, vol. 32, no. 4, pp. 190–203.

    Article  Google Scholar 

  17. Anureev, I.S., Introduction to the Atoment Language, Joint Bull. Novosibirsk Comp. Center. and Inst. Inform. Syst. Ser.: Comput. Sci., 2010, vol. 30, no. 4, pp. 1–16.

    Google Scholar 

  18. Nepomniaschy, V.A., Anureev, I.S., Atuchin, M.M., Mar’yasov, I.V., Petrov, A.A., and Promsky, A.V., C Program Verification in SPECTRUM Multilanguage System, Autom. Control Comput. Sci., 2011, vol. 45, no. 7, pp. 413–420.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. M. Atuchin.

Additional information

Original Russian Text © M.M. Atuchin, I.S. Anureev, 2011, published in Modelirovanie i Analiz Informatsionnykh Sistem, 2011, No. 4, pp. 21–33.

About this article

Cite this article

Atuchin, M.M., Anureev, I.S. Attribute annotations and their use in C program deductive verification. Aut. Control Comp. Sci. 46, 308–316 (2012). https://doi.org/10.3103/S0146411612070036

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.3103/S0146411612070036

Keywords