about this paperpresentation abstract bibitemdownloadspaper (on HAL) eidtor link |
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 strategies (with thresholds, delayed) and the
automatic determination of the parameters (parametrized packing).
@InProceedings{BlanchetEtAl-PLDI03, author = {B{.} Blanchet and P{.} Cousot and R{.} Cousot and J{.} Feret and L{.} Mauborgne and A{.} Min\'e and D{.} Monniaux and X{.} Rival}, title = {A Static Analyzer for Large Safety-Critical Software}, pages = {196--207}, booktitle = {Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI'03)}, address = {San Diego, California, USA}, publisher = {ACM Press}, month = {June 7--14}, year = 2003, }