A Lesson on Runtime Assertion Checking with Frama-C

被引:0
|
作者
Kosmatov, Nikolai [1 ]
Signoles, Julien [1 ]
机构
[1] CEA, LIST, Software Reliabil Lab, F-91191 Gif Sur Yvette, France
来源
关键词
runtime assertion checking; program monitoring; executable specification; invalid pointers; FRAMA-C; E-ACSL;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:386 / 399
页数:14
相关论文
共 50 条
  • [21] High-Level Program Properties in Frama-C: Definition, Verification and Deduction
    Robles, Virgile
    Kosmatov, Nikolai
    Prevost, Virgile
    Le Gall, Pascale
    LEVERAGING APPLICATIONS OF FORMAL METHOD, VERIFICATION AND VALIDATION: SPECIFICATION AND VERIFICATION, PT III, ISOLA 2024, 2025, 15221 : 159 - 177
  • [22] Formal Verification With Frama-C: A Case Study in the Space Software Domain
    Busquim e Silva, Rovedy Aparecida
    Arai, Nanci Naomi
    Burgareli, Luciana Akemi
    Parente de Oliveira, Jose Maria
    Pinto, Jorge Sousa
    IEEE TRANSACTIONS ON RELIABILITY, 2016, 65 (03) : 1163 - 1179
  • [23] Test Data Generation for Cyclic Executives with CBMC and Frama-C: A Case Study
    Timo, Omer Nguena
    Langelier, Guillaume
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2016, 320 : 35 - 51
  • [24] Static versus Dynamic Verification in Why3, Frama-C and SPARK 2014
    Kosmatov, Nikolai
    Marche, Claude
    Moy, Yannick
    Signoles, Julien
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: FOUNDATIONAL TECHNIQUES, PT I, 2016, 9952 : 461 - 478
  • [25] CONC2SEQ: A FRAMA-C Plugin for Verification of Parallel Compositions of C Programs
    Blanchard, Allan
    Kosmatov, Nikolai
    Lemerre, Matthieu
    Loulergue, Frederic
    2016 IEEE 16TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2016, : 67 - 72
  • [26] Efficient Runtime Assertion Checking for Properties over Mathematical Numbers
    Kosmatov, Nikolai
    Maurica, Fonenantsoa
    Signoles, Julien
    RUNTIME VERIFICATION (RV 2020), 2020, 12399 : 310 - 322
  • [27] Runtime Assertion Checking and Theorem Proving for Concurrent and Distributed Systems
    Din, Crystal Chang
    Owe, Olaf
    Bubel, Richard
    PROCEEDINGS OF THE 2014 2ND INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2014), 2014, : 480 - 487
  • [28] Teaching Deductive Verification Through Frama-C and SPARK for Non Computer Scientists
    Creuse, Leo
    Dross, Claire
    Garion, Christophe
    Hugues, Jerome
    Huguet, Joffrey
    FORMAL METHODS TEACHING (FMTEA 2019), 2019, 11758 : 23 - 36
  • [29] Tutorial: Secure Your Things: Secure Development of IoT Software with Frama-C
    Blanchard, Allan
    Kosmatov, Nikolai
    Loulergue, Frederic
    2018 IEEE CYBERSECURITY DEVELOPMENT CONFERENCE (SECDEV 2018), 2018, : 126 - 127
  • [30] The Dogged Pursuit of Bug-Free C Programs: The Frama-C Software Analysis Platform
    Baudin, Patrick
    Bobot, Francois
    Buhler, David
    Correnson, Loic
    Kirchner, Florent
    Kosmatov, Nikolai
    Maroneze, Andre
    Perrelle, Valentin
    Prevosto, Virgile
    Signoles, Julien
    Williams, Nicky
    COMMUNICATIONS OF THE ACM, 2021, 64 (08) : 56 - 68