Skip to main content
Log in

Towards Verification of C Programs. C-Light Language and Its Formal Semantics

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

Abstract

The C-light language is described, which is a representative subset of C. C-light permits deterministic expressions, limited use of switch and goto statements, and, instead of library functions for work with dynamic memory, includes C++ statements new and delete. A survey of structured operational semantics of the C-light language in Plotkin's style is given.

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

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

REFERENCES

  1. Kernighan, B.W. and Ritchie, D., The C Programming Language, Englewood Cliffs, New Jersey: Prentice-Hall, 1978. Translated under the title Yazyk programmirovaniya Ci, Moscow: Finansy i statistika, 1985.

    Google Scholar 

  2. ISO/IEC 9899:1999, Programming languages-C, 1999.

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

    Google Scholar 

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

  5. Gurevich, Y. and Huggings, J.K., The Semantics of the C Programming Language, Proc. of the Int. Conf. on Comput. Sci. Logic; Lecture Notes Comput. Sci., 1993, vol. 702, pp. 274-309.

    Google Scholar 

  6. Huggins, J.K. and Shen, W., The Static and Dynamic Semantics of C (extended abstract), Local Proc. of Int. Workshop on Abstract State Machines, ETH TIK-Rep., 2000, no. 87, pp. 272-284.

    Google Scholar 

  7. Plotkin, G.D., A Structure Approach to Operational Semantics, Techn. Rep. FN-19, Aarhus Univ., DAIMI, 1981.

  8. Norrish, M., Deterministic Expressions in C, Proc. of Europ. Symp. on Programming (ESOP99); Lecture Notes Comput. Sci., 1999, vol. 1576, pp. 147-161.

    Google Scholar 

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

  10. 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.

  11. 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-light-kernel and Its Formal Justification, Preprint of Inst. of Information Systems, Sib. Div., Russ. Acad. Sci., Novosibirsk, 2002, no. 97.

  12. Nepomniaschy, V.A. and Sulimov, A.A., Problem-Oriented Knowledge Bases and Their Use in the Program Verification System SPEKTR, Izv. Ross. Akad. Nauk, Teor. Sist. Upr., 1997, no. 2, pp. 169-175.

    Google Scholar 

  13. 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).

  14. Nepomniaschy, V.A., Anureev, I.S., Mikhailov, I.N., and Promskii, A.V., Toward Verification of C Programs. Part 2: C-light-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., Mikhailov, I.N. et al. Towards Verification of C Programs. C-Light Language and Its Formal Semantics. Programming and Computer Software 28, 314–323 (2002). https://doi.org/10.1023/A:1021045909505

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021045909505

Keywords

Navigation