Results 1 -
4 of
4
A Static Analyzer for Large Safety-Critical Software
, 2003
"... We show that abstract interpretation-based static program analysis can be made e#cient 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 p ..."
Abstract
-
Cited by 137 (30 self)
- Add to MetaCart
We show that abstract interpretation-based static program analysis can be made e#cient 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, 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).
Relative Completeness of Abstraction Refinement for Software Model Checking
, 2002
"... Automated methods for an undecidable class of verification problems cannot be complete (terminate for every correct program). We therefore consider a new kind of quality measure for such methods, which is completeness relative to a (powerful but unrealistic) oracle-based method. More precisely, we a ..."
Abstract
-
Cited by 49 (4 self)
- Add to MetaCart
Automated methods for an undecidable class of verification problems cannot be complete (terminate for every correct program). We therefore consider a new kind of quality measure for such methods, which is completeness relative to a (powerful but unrealistic) oracle-based method. More precisely, we ask whether an often implemented method known as "software model checking with abstraction refinement" is complete relative to fixpoint iteration with "oracle-guided" widening. We show that whenever backward fixpoint iteration with oracle-guided widening succeeds in proving a property' (for some sequence of widenings determined by the oracle) then software model checking with a particular form of backward refinement will succeed in proving'. Intuitively, this means that the use of fixpoint iteration over abstractions and a particular backwards refinement of the abstractions has the effect of exploring the entire state space of all possible sequences of widenings.
Domain Compression for Complete Abstractions
"... We introduce the operation of domain compression for complete re nements of nite abstract domains. This provides a systematic method for simplifying abstract domains in order to isolate the most abstract domain, when it exists, whose re nement toward completeness for a given semantic function ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We introduce the operation of domain compression for complete re nements of nite abstract domains. This provides a systematic method for simplifying abstract domains in order to isolate the most abstract domain, when it exists, whose re nement toward completeness for a given semantic function returns a given domain. Domain compression is particularly relevant to compare abstractions in static program analysis and abstract model checking. In this latter case we consider domain compression in predicate abstraction of transition systems.
Aspect-driven Property Verification of Inconsistent System Descriptions
"... We present a framework for the description of software artifacts as partial state-machines. Multiple stakeholders specify aspects of such a description as modal transition systems. Aspects are consistent and a dominance preorder between aspects exposes inconsistencies of (temporal) logic properties ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present a framework for the description of software artifacts as partial state-machines. Multiple stakeholders specify aspects of such a description as modal transition systems. Aspects are consistent and a dominance preorder between aspects exposes inconsistencies of (temporal) logic properties across aspects, and therefore across individual stakeholders. We employ Stone duality to compute homogenized aspects that share a global vocabulary of observables. This results in a model-checking algorithm for aspect-driven property verification of such inconsistent system descriptions which can be implemented with the instrumented use of conventional model checkers such as SPIN. The formal notions of refinement and abstraction that we present are sound with respect to our exposure and analysis of inconsistencies.

