Validation with guided search of the state space
DAC '98 Proceedings of the 35th annual Design Automation Conference
A new solution of Dijkstra's concurrent programming problem
Communications of the ACM
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated Software Engineering
Counter-Example Based Predicate Discovery in Predicate Abstraction
FMCAD '02 Proceedings of the 4th International Conference on Formal Methods in Computer-Aided Design
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Generating Finite-State Abstractions of Reactive Systems Using Decision Procedures
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Detecting Errors Before Reaching Them
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Property Checking via Structural Analysis
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
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
ICSE '81 Proceedings of the 5th international conference on Software engineering
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Clocked Transition Systems
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Efficient Model Checking of Hardware Using Conditioned Slicing
Electronic Notes in Theoretical Computer Science (ENTCS)
Software verification with BLAST
SPIN'03 Proceedings of the 10th international conference on Model checking software
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Lazy abstraction with interpolants
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Applications of craig interpolants in model checking
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
ARMC: the logical choice for software model checking with abstraction refinement
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Evaluating the effectiveness of slicing for model reduction of concurrent object-oriented programs
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Combining symbolic representations for solving timed games
FORMATS'10 Proceedings of the 8th international conference on Formal modeling and analysis of timed systems
Incremental computation of succinct abstractions for hybrid systems
FORMATS'11 Proceedings of the 9th international conference on Formal modeling and analysis of timed systems
Automatic verification of real-time systems with rich data: an overview
TAMC'12 Proceedings of the 9th Annual international conference on Theory and Applications of Models of Computation
Hi-index | 0.00 |
Abstraction and slicing are both techniques for reducing the size of the state space to be inspected during verification. In this paper, we present a new model checking procedure for infinite-state concurrent systems that interleaves automatic abstraction refinement, which splits states according to new predicates obtained by Craig interpolation, with slicing, which removes irrelevant states and transitions from the abstraction. The effects of abstraction and slicing complement each other. As the refinement progresses, the increasing accuracy of the abstract model allows for a more precise slice; the resulting smaller representation gives room for additional predicates in the abstraction. The procedure terminates when an error path in the abstraction can be concretized, which proves that the system is erroneous, or when the slice becomes empty, which proves that the system is correct.