TY - GEN
T1 - A lesson on runtime assertion checking with Frama-C
AU - Kosmatov, Nikolai
AU - Signoles, Julien
PY - 2013/11/18
Y1 - 2013/11/18
N2 - Runtime assertion checking provides a powerful, highly automatizable technique to detect violations of specified program properties. This paper provides a lesson on runtime assertion checking with Frama-C, a publicly available toolset for analysis of C programs. We illustrate how a C program can be specified in executable specification language e-acsl and how this specification can be automatically translated into instrumented C code suitable for monitoring and runtime verification of specified properties. We show how various errors can be automatically detected on the instrumented code, including C runtime errors, failures in postconditions, assertions, preconditions of called functions, and memory leaks. Benefits of combining runtime assertion checking with other Frama-C analyzers are illustrated as well.
AB - Runtime assertion checking provides a powerful, highly automatizable technique to detect violations of specified program properties. This paper provides a lesson on runtime assertion checking with Frama-C, a publicly available toolset for analysis of C programs. We illustrate how a C program can be specified in executable specification language e-acsl and how this specification can be automatically translated into instrumented C code suitable for monitoring and runtime verification of specified properties. We show how various errors can be automatically detected on the instrumented code, including C runtime errors, failures in postconditions, assertions, preconditions of called functions, and memory leaks. Benefits of combining runtime assertion checking with other Frama-C analyzers are illustrated as well.
KW - Frama-C
KW - e-acsl
KW - executable specification
KW - invalid pointers
KW - program monitoring
KW - runtime assertion checking
U2 - 10.1007/978-3-642-40787-1_29
DO - 10.1007/978-3-642-40787-1_29
M3 - Conference contribution
AN - SCOPUS:84887464191
SN - 9783642407864
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 386
EP - 399
BT - Runtime Verification - 4th International Conference, RV 2013, Proceedings
T2 - 4th International Conference on Runtime Verification, RV 2013
Y2 - 24 September 2013 through 27 September 2013
ER -