Abstract
To help formal verification tools to make their way into industry, they ought to be more widely used in software engineering classes. This tutorial paper serves this purpose and provides a lesson on formal specification and proof of programs with Frama-C, an open-source platform dedicated to analysis of C programs, and acsl, a specification language for C.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Randimbivololona, F., Souyris, J., Baudin, P., Pacalet, A., Raguideau, J., Schoen, D.: Applying Formal Proof Techniques to Avionics Software: A Pragmatic Approach. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1709, pp. 1798–1815. Springer, Heidelberg (1999)
Delmas, D., Duprat, S., Baudin, P., Monate, B.: Proving temporal properties at code level for basic operators of control/command programs. In: 4th European Congress on Embedded Real Time Software (2008)
Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580, 583 (1969)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM 18(8), 453–457 (1975)
Correnson, L., Cuoq, P., Kirchner, F., Prevosto, V., Puccetti, A., Signoles, J., Yakobowski, B.: Frama-C User Manual (October 2011), http://frama-c.com
Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C, a program analysis perspective. In: Eleftherakis, G., Hinchey, M., Holcombe, M. (eds.) SEFM 2012. LNCS, vol. 7504, pp. 233–247. Springer, Heidelberg (2012)
Moy, Y.: Automatic Modular Static Safety Checking for C Programs. PhD thesis, University Paris 11 (January 2009)
Moy, Y., Marché, C.: Jessie Plugin Tutorial
Correnson, L., Dargaye, Z.: WP Plug-in Manual, version 0.5 (January 2012)
Baudin, P., Filliâtre, J.C., Hubert, T., Marché, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI/ISO C Specification Language (February 2011)
Correnson, L., Signoles, J.: Combining Analyses for C Program Verification. In: Stoelinga, M., Pinger, R. (eds.) FMICS 2012. LNCS, vol. 7437, pp. 108–130. Springer, Heidelberg (2012)
Feinerer, I., Salzer, G.: A comparison of tools for teaching formal software verification. Formal Aspects of Computing 21(3) (2009)
KeY Project: Uses of KeY for teaching, http://www.key-project.org/teaching/
Frama-C: Uses of Frama-C for teaching, http://bts.frama-c.com/dokuwiki/doku.php?id=mantis:frama-c:teaching
Burghardt, J., Gerlach, J., Hartig, K., Pohl, H., Soto, J.: ACSL by Example. A fairly complete tour of ACSL features through various functions inspired from C++ STL. Version 7.1.0 (for Frama-C Nitrogen)
Almeida, J.C.B., Frade, M.J., Pinto, J.S., de Sousa, S.M.: Rigorous Software Development, An Introduction to Program Verification. Undergraduate Topics in Computer Science. Springer (2011)
Quan, T., Nguyen, P., Bui, T., Le, T., Nguyen, A., Hoang, D., Nguyen, V., Nguyen, B.: iiOSProTrain: An Interactive Intelligent Online System for Programming Training. Journal of Advances in Information Technology 3(1) (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kosmatov, N., Prevosto, V., Signoles, J. (2013). A Lesson on Proof of Programs with Frama-C. Invited Tutorial Paper. In: Veanes, M., Viganò, L. (eds) Tests and Proofs. TAP 2013. Lecture Notes in Computer Science, vol 7942. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38916-0_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-38916-0_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38915-3
Online ISBN: 978-3-642-38916-0
eBook Packages: Computer ScienceComputer Science (R0)