A lesson on runtime assertion checking with Frama-C

Nikolai Kosmatov, Julien Signoles

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

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.

Original languageEnglish
Title of host publicationRuntime Verification - 4th International Conference, RV 2013, Proceedings
Pages386-399
Number of pages14
DOIs
Publication statusPublished - 18 Nov 2013
Externally publishedYes
Event4th International Conference on Runtime Verification, RV 2013 - Rennes, France
Duration: 24 Sept 201327 Sept 2013

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8174 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference4th International Conference on Runtime Verification, RV 2013
Country/TerritoryFrance
CityRennes
Period24/09/1327/09/13

Keywords

  • Frama-C
  • e-acsl
  • executable specification
  • invalid pointers
  • program monitoring
  • runtime assertion checking

Fingerprint

Dive into the research topics of 'A lesson on runtime assertion checking with Frama-C'. Together they form a unique fingerprint.

Cite this