Skip to main navigation Skip to search Skip to main content

Context generation from formal specifications for C analysis tools

  • TrustInSoft
  • LIST-DTSI-SLA CEA

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

Abstract

Analysis tools like abstract interpreters, symbolic execution tools and testing tools usually require a proper context to give useful results when analyzing a particular function. Such a context initializes the function parameters and global variables to comply with function requirements. However it may be error-prone to write it by hand: the handwritten context might contain bugs or not match the intended specification. A more robust approach is to specify the context in a dedicated specification language, and hold the analysis tools to support it properly. This may mean to put significant development efforts for enhancing the tools, something that is often not feasible if ever possible. This paper presents a way to systematically generate such a context from a formal specification of a C function. This is applied to a subset of the ACSL specification language in order to generate suitable contexts for the abstract interpretation-based value analysis plug-ins of Frama-C, a framework for analysis of code written in C. The idea here presented has been implemented in a new Frama-C plug-in which is currently in use in an operational industrial setting.

Original languageEnglish
Title of host publicationLogic-Based Program Synthesis and Transformation - 27th International Symposium, LOPSTR 2017, Revised Selected Papers
EditorsFabio Fioravanti, John P. Gallagher
PublisherSpringer Verlag
Pages93-111
Number of pages19
ISBN (Print)9783319944593
DOIs
Publication statusPublished - 1 Jan 2018
Externally publishedYes
Event27th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2017 - Namur, Belgium
Duration: 10 Oct 201712 Oct 2017

Publication series

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

Conference

Conference27th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2017
Country/TerritoryBelgium
CityNamur
Period10/10/1712/10/17

Keywords

  • ACSL
  • Code analysis
  • Code generation
  • Formal specification
  • Frama-C
  • Transformation

Fingerprint

Dive into the research topics of 'Context generation from formal specifications for C analysis tools'. Together they form a unique fingerprint.

Cite this