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
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
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
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
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
SCAM '05 Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation
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
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
Automatic Verification of Combined Specifications: An Overview
Electronic Notes in Theoretical Computer Science (ENTCS)
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Refinement of Trace Abstraction
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Slicing concurrent real-time system specifications for verification
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
SLAB: a certifying model checker for infinite-state concurrent systems
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Lemma localization: a practical method for downsizing SMT-interpolants
Proceedings of the Conference on Design, Automation and Test in Europe
Software model checking for people who love automata
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
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.