Making abstract interpretations complete
Journal of the ACM (JACM)
Verifying safety properties of concurrent Java programs using 3-valued logic
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Deriving specialized program analyses for certifying component-client conformance
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Partial Completeness of Abstract Fixpoint Checking
SARA '02 Proceedings of the 4th International Symposium on Abstraction, Reformulation, and Approximation
Incremental Verification by Abstraction
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Relative Completeness of Abstraction Refinement for Software Model Checking
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Model Checking as Constraint Solving
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
On Abstraction in Software Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Software Analysis and Model Checking
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software
CONCUR '01 Proceedings of the 12th International Conference on Concurrency Theory
Boolean and Cartesian Abstraction for Model Checking C Programs
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Understanding the origin of alarms in ASTRÉE
SAS'05 Proceedings of the 12th international conference on Static Analysis
Hi-index | 0.00 |
Automated verification of programs is a topic of increasing interest [1,2,3,4,5,6, 7,8,9,10,11,12,13]. In a recent approach known as software model checking, one tries to prove a safety property of a program by iterating three steps: (1) the construction of an abstract system for an abstraction given by predicates over sets of states, (2) the model checking (in fact, a reachability analysis) of the abstract system, and (3) the refinement of the abstraction. The third step is done by generating additional predicates from the spurious counterexamples of the abstract system, if there are any; if not, the program property is either proven or disproven, and the method terminates.We will investigate the theory behind the approach and try to identify its potential interest. In principle, finding an abstraction is as hard as finding the proof itself [3]. However, using abstraction refinement (in the third step) for the search of an abstraction buys a triple-exponential saving over the direct search of a proof.