Bruno Blanchet Back to publications
Bruno Blanchet, Patrick Cousot, Radhia Cousot, Jérôme Feret, Laurent Mauborgne, Antoine Miné, David Monniaux, and Xavier Rival. Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software, invited chapter. In T. Mogensen, D. A. Schmidt, and I. H. Sudborough, editors, The Essence of Computation: Complexity, Analysis, Transformation. Essays Dedicated to Neil D. Jones, volume 2566 of Lecture Notes in Computer Science, pages 85-108. Springer, December 2002.


© Springer-Verlag

Get the paper

.ps.gz, 111 Kb, .pdf, 387 Kb


LNCS series home page. LNCS Volume 2566 at Springer.


We report on a successful preliminary experience in the design and implementation of a special-purpose Abstract Interpretation based static program analyzer for the verification of safety critical embedded real-time software. The analyzer is both precise (zero false alarm in the considered experiment) and efficient (less than one minute of analysis for 10,000 lines of code). Even if it is based on a simple interval analysis, many features have been added to obtain the desired precision: expansion of small arrays, widening with several thresholds, loop unrolling, trace partitioning, relations between loop counters and other variables. The efficiency of the tool mainly comes from a clever representation of abstract environments based on balanced binary search trees.


  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 = {Design and {I}mplementation of a {S}pecial-{P}urpose {S}tatic {P}rogram {A}nalyzer for {S}afety-{C}ritical {R}eal-{T}ime {E}mbedded {S}oftware, invited chapter},
  BOOKTITLE = {The Essence of Computation: Complexity, Analysis, Transformation. Essays Dedicated to Neil D. Jones},
  PAGES = {85--108},
  PUBLISHER = {Springer},
  YEAR = {2002},
  EDITOR = {T. Mogensen and D. A. Schmidt and I. H. Sudborough},
  VOLUME = {2566},
  SERIES = {Lecture Notes in Computer Science},

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