The Essence of Computation

Volume 2566 of the series Lecture Notes in Computer Science pp 85-108


Design and Implementation of a Special-Purpose Static Program Analyzer for Safety-Critical Real-Time Embedded Software

  • Bruno BlanchetAffiliated withCNRS & École normale supérieure
  • , Patrick CousotAffiliated withCNRS & École normale supérieure
  • , Radhia CousotAffiliated withCNRS & École polytechnique
  • , Jérôme FeretAffiliated withCNRS & École normale supérieure
  • , Laurent MauborgneAffiliated withCNRS & École normale supérieure
  • , Antoine MinéAffiliated withCNRS & École normale supérieure
  • , David MonniauxAffiliated withCNRS & École normale supérieure
  • , Xavier RivalAffiliated withCNRS & École normale supérieure

* Final gross prices may vary according to local VAT.

Get Access


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.