Improving Static Analyses of C Programs with Conditional Predicates

  • Sandrine Blazy
  • David Bühler
  • Boris Yakobowski
Conference paper

DOI: 10.1007/978-3-319-10702-8_10

Part of the Lecture Notes in Computer Science book series (LNCS, volume 8718)
Cite this paper as:
Blazy S., Bühler D., Yakobowski B. (2014) Improving Static Analyses of C Programs with Conditional Predicates. In: Lang F., Flammini F. (eds) Formal Methods for Industrial Critical Systems. FMICS 2014. Lecture Notes in Computer Science, vol 8718. Springer, Cham

Abstract

Static code analysis is increasingly used to guarantee the absence of undesirable behaviors in industrial programs. Designing sound analyses is a continuing trade-off between precision and complexity. Notably, dataflow analyses often perform overly wide approximations when two control-flow paths meet, by merging states from each path. This paper presents a generic abstract interpretation based framework to enhance the precision of such analyses on join points. It relies on predicated domains, that preserve and reuse information valid only inside some branches of the code. Our predicates are derived from conditionals statements, and postpone the loss of information. The work has been integrated into Frama-C, a C source code analysis platform. Experiments on real code show that our approach scales, and improves significantly the precision of the existing analyses of Frama-C.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Sandrine Blazy
    • 1
  • David Bühler
    • 2
  • Boris Yakobowski
    • 2
  1. 1.IRISA - University of RennesFrance
  2. 2.CEA, LIST, Software Safety LabGif-sur-YvetteFrance

Personalised recommendations