SYNERGY
Top Cited Papers
- 5 November 2006
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 117-127
- https://doi.org/10.1145/1181775.1181790
Abstract
We consider the problem if a given program satisfies a specified safety property. Interesting programs have infinite state spaces, with inputs ranging over infinite domains, and for these programs the property checking problem is undecidable. Two broad approaches to property checking are testing and verification. Testing tries to find inputs and executions which demonstrate violations of the property. Verification tries to construct a formal proof which shows that all executions of the program satisfy the property. Testing works best when errors are easy to find, but it is often difficult to achieve sufficient coverage for correct programs. On the other hand, verification methods are most successful when proofs are easy to find, but they are often inefficient at discovering errors. We propose a new algorithm, Synergy, which combines testing and verification. Synergy unifies several ideas from the literature, including counterexample-guided model checking, directed testing, and partition refinement.This paper presents a description of the Synergy algorithm, its theoretical properties, a comparison with related algorithms, and a prototype implementation called Yogi.Keywords
This publication has 17 references indexed in Scilit:
- Testing, abstraction, theorem proving: better together!Published by Association for Computing Machinery (ACM) ,2006
- Counterexample Driven Refinement for Abstract InterpretationPublished by Springer Nature ,2006
- A Practical and Complete Approach to Predicate RefinementPublished by Springer Nature ,2006
- Model checking, testing and verification working togetherFormal Aspects of Computing, 2005
- Concrete Model Checking with Abstract Matching and RefinementPublished by Springer Nature ,2005
- Software Model Checking: Searching for Computations in the Abstract or the ConcretePublished by Springer Nature ,2005
- Modular verification of software components in CIEEE Transactions on Software Engineering, 2004
- Abstractions from proofsPublished by Association for Computing Machinery (ACM) ,2004
- CCS expressions, finite state processes, and three problems of equivalenceInformation and Computation, 1990
- Three Partition Refinement AlgorithmsSIAM Journal on Computing, 1987