A static analyzer for large safety-critical software

By Bruno Blanchet, P. Cousot, R. Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, Xavier Rival. ACM-SIGPLAN Symposium on Programming Language Design and Implementation, 2003

797 citations recorded by the source corpus.

We show that abstract interpretation-based static program analysis can be made efficient and precise enough to formally verify a class of properties for a family of large programs with few or no false alarms. This is achieved by refinement of a general purpose static analyzer and later adaptation to particular programs of the family by the end-user through parametrization. This is applied to the proof of soundness of data manipulation operations at the machine level for periodic synchronous safety critical embedded software.The main novelties are the design principle of static analyzers by refinement and adaptation through parametrization (Sect. 3 and 7), the symbolic manipulation of expressions to improve the precision of abstract transfer functions (Sect. 6.3), the octagon (Sect. 6.2.2), ellipsoid (Sect. 6.2.3), and decision tree (Sect. 6.2.4) abstract domains, all with sound handling of rounding errors in oating point computations, widening strategies (with thresholds: Sect. 7.1.2, delayed: Sect. 7.1.3) and the automatic determination of the parameters (parametrized packing: Sect. 7.2).

Subfields: Computational Theory and Mathematics, Software

View Paper: https://www.semanticscholar.org/paper/9ae17f8fb98ac18c86c48b4d7774b658b066527c

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computational Theory and Mathematics

  1. Antoine Miné
  2. Martin T. Vechev
  3. Timon Gehr
  4. Gagandeep Singh
  5. Markus Püschel
  6. Andreas Podelski
  7. Wei-Ngan Chin
  8. Corneliu Popeea

In Software

  1. Antoine Miné
  2. Rupak Majumdar
  3. Ranjit Jhala
  4. Gogul Balakrishnan
  5. Thomas W. Reps
  6. Andreas Podelski
  7. Benjamin Livshits
  8. Thomas Zimmermann

Citations in the corpus