Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software

  • Authors:
  • Bruno Blanchet;Patrick Cousot;Radhia Cousot;Jérôme Feret;Laurent Mauborgne;Antoine Miné;David Monniaux;Xavier Rival

  • Affiliations:
  • CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole polytechnique, 91128 Palaiseau cedex, France;CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole normale supéérieure, 75005 Paris, France;CNRS & Ecole normale supéérieure, 75005 Paris, France

  • Venue:
  • The essence of computation
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.