Skip to main content
Log in

Towards Verification of C Programs: Axiomatic Semantics of the C-kernel Language

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

With the aim of the verification of programs in the C-light language [1], its kernel C-kernel is separated, and an axiomatic semantics for it is suggested. A theorem on soundness of the axiomatic semantics of C-kernel with respect to its operational semantics is proved. The C-light language is used as an input language of the program verification system, which includes a translator to C-kernel and a generator of the correctness conditions for C-kernel programs, which is based on its axiomatic semantics.

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

Access this article

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. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Towards Verification of C Programs: C-Light Language and Its Formal Semantics, Programmirovanie, 2002, no. 6, pp. 1–13.

    Google Scholar 

  2. Black, P.E. and Windley, Ph.J., Inference Rules for Programming Languages with Side Effects in Expressions, Proc. of the 9th Int. Conf. on Theorem Proving in HOL, Lecture Notes in Computer Science, vol. 1125, pp. 56–60, Berlin: Springer, 1996.

    Google Scholar 

  3. Fradet, P., Caugne, R., and Le Metayer, D., Static Detection of Pointer Errors: An Axiomatization and a Checking Algorithm, Proc. Eur. Symp. on Programming (ESOP96), Lecture Notes in Computer Science, vol. 1058, pp. 125–140, Berlin: Springer, 1996.

    Google Scholar 

  4. Norrish, M., C Formalized in HOL, PhD Dissertation, Computer Lab., Univ. of Cambridge, 1998.

  5. Nepomniaschy, V.A. and Ryakin, O.M., Prikladnye metody verifikatsii programm (Applied Methods of Program Verification), Moscow: Radio i Svyaz', 1988.

    Google Scholar 

  6. Apt, K.R. and Olderog, E.R., Verification of Sequential and Concurrent Programs, Springer, 1991.

  7. Hoare, C.A.R., An Axiomatic Basis for Computer Programming, Commun. ACM, 1969, vol. 12, no. 1, pp. 576–580.

    Google Scholar 

  8. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Toward Verification of C Programs: C-light Language, Konferentsiya, posvyashchennaya 90-letiyu so dnya rozhdeniya A.A. Lyapunova (Proc. of Conf. Devoted to the 90th Anniversary of the Birth of A.A. Lyapunov), Novosibirsk, 2001, pp. 423–432 (keynote paper).

  9. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Toward Verification of C Programs. Part 1: C-light Language, Preprint of Inst. of Information Systems, Sib. Div., Russ. Acad. Sci., Novosibirsk, 2001, no. 84.

  10. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Toward Verification of C Programs. Part 3: Translation from C-light to C-kernel and Its Formal Justification, Preprint of Inst. of Information Systems, Sib. Div., Russ. Acad. Sci., Novosibirsk, 2002, no. 97.

  11. ISO/IEC 9899:1999, Programming languages – C, 1999.

  12. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Toward Verification of C Programs. Part 2: C-kernel Language and Its Axiomatic Semantics, Preprint of Inst. of Information Systems, Sib. Div., Russ. Acad. Sci., Novosibirsk, 2001, no. 87.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Nepomniaschy, V.A., Anureev, I.S. & Promskii, A.V. Towards Verification of C Programs: Axiomatic Semantics of the C-kernel Language. Programming and Computer Software 29, 338–350 (2003). https://doi.org/10.1023/B:PACS.0000004134.24714.e5

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:PACS.0000004134.24714.e5

Keywords

Navigation