The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Model checking and abstraction
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Property preserving abstractions for the verification of concurrent systems
Formal Methods in System Design - Special issue on computer-aided verification (based on CAV'92 workshop)
CSP-OZ: a combination of object-Z and CSP
FMOODS '97 Proceedings of the IFIP TC6 WG6.1 international workshop on Formal methods for open object-based distributed systems
Model checking
Programmers use slices when debugging
Communications of the ACM
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
Directed explicit model checking with HSF-SPIN
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
All from One, One for All: on Model Checking Using Representatives
CAV '93 Proceedings of the 5th International Conference on Computer Aided Verification
Better Verification Through Symmetry
CHDL '93 Proceedings of the 11th IFIP WG10.2 International Conference sponsored by IFIP WG10.2 and in cooperation with IEEE COMPSOC on Computer Hardware Description Languages and their Applications
ICSE '81 Proceedings of the 5th international conference on Software engineering
Counterexample-guided abstraction refinement for symbolic model checking
Journal of the ACM (JACM)
Slicing an integrated formal method for verification
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Slicing-based Reductions for Rebeca
Electronic Notes in Theoretical Computer Science (ENTCS)
Decomposing integrated specifications for verification
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
Actor-based slicing techniques for efficient reduction of Rebeca models
Science of Computer Programming
Hi-index | 0.00 |
Slicing is one of a number of techniques for reducing the state space of specifications during verification. Unlike techniques as e.g. data abstraction slicing is precise: the slice exactly reflects the property to be verified. This necessitates keeping large parts of the specification. In this paper we relax this requirement and instead compute slices overapproximating the behaviour of the specification. This can lead to substantially smaller slices. We consequently adapt the technique of abstraction refinement to slicing as to improve the slice once a false negative is detected. Slicing thus becomes an incremental method: it starts with a small, minimal part of the specification and successively adds further parts until either the property under interest holds on the slice or a real counterexample is found. We show correctness and termination of our technique.