Bruno Blanchet Back to publications
Bruno Blanchet, Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, and Xavier Rival. A Static Analyzer for Large Safety-Critical Software. In ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI'03), pages 196-207, San Diego, California, June 2003. ACM.


Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PLDI'03, June 9-11, 2003, San Diego, California, USA. Copyright 2003 ACM 1-58113-662-5/03/0006

If you agree with this copyright notice, you can get the paper:

Get the paper

.ps.gz, 212 Kb, .pdf, 286 Kb


Official ACM version:

ACM DL Author-ize serviceA static analyzer for large safety-critical software
Bruno Blanchet, Patrick Cousot, Radhia Cousot, Jérome Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, Xavier Rival
ACM SIGPLAN Notices, 2003


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 the symbolic manipulation of expressions to improve the precision of abstract transfer functions, the octagon, ellipsoid, and decision tree abstract domains, all with sound handling of rounding errors in floating point computations, widening strategies (with thresholds, delayed) and the automatic determination of the parameters (parameterized packing).


  AUTHOR = {Bruno Blanchet and Patrick Cousot and Radhia Cousot and J{\'e}r{\^o}me Feret and Laurent Mauborgne and Antoine Min{\'e} and David Monniaux and Xavier Rival},
  TITLE = {A {S}tatic {A}nalyzer for {L}arge {S}afety-{C}ritical {S}oftware},
  BOOKTITLE = {ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI'03)},
  PAGES = {196--207},
  YEAR = 2003,
  ADDRESS = {San Diego, California},

E-mail/Courrier électronique : (remove trap-)