A Static Analyzer for Large Safety-Critical Software
Bruno Blanchet (LIENS), Patrick Cousot (LIENS), Radhia Cousot (STIX),, Jer\^ome Feret (LIENS), Laurent Mauborgne (LIENS), Antoine Min\'e (LIENS),, David Monniaux (LIENS), Xavier Rival (LIENS)

TL;DR
This paper presents an efficient, precise static analysis method based on abstract interpretation for verifying properties of large safety-critical software, with novel refinement, parametrization, and symbolic techniques.
Contribution
It introduces a refinement and parametrization approach to static analyzers, enhancing precision and efficiency for large safety-critical programs.
Findings
Verified data manipulation operations at machine level
Achieved few or no false alarms in analysis
Applied to safety-critical embedded software
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
