2006 · 251 citations · 24 references
EngineeringComputer EngineeringComputer ScienceEmbedded SystemsHardware-software Co-designSystem-on-chip DesignAccelerator ArchitectureDeep LearningHardware AccelerationHeterogeneous System ArchitectureHigh-throughput ComputingNetwork-on-chip DesignAcceleratorsDeep InferenceDeep Learning AccelerationDeep Learning AcceleratorsResource-constrained ComputingResource-constrained SystemsSystem-on-chip ArchitectureThroughput
Property checking for programs with infinite state spaces is undecidable, and while testing can uncover violations, it struggles with coverage, whereas verification can prove correctness but often fails to find errors efficiently. The authors introduce Synergy, an algorithm that integrates testing and verification techniques. Synergy merges counterexample‑guided model checking, directed testing, and partition refinement, and is implemented in the prototype Yogi. The paper demonstrates Synergy’s theoretical properties, compares it to related algorithms, and presents its implementation in Yogi.
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.
24
E. M. Clarke, Orna Grümberg, D. Long · 1996 · 6.9K citations
Patrick Cousot, Radhia Cousot · 1977 · 6.2K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · ACM SIGPLAN Notices · 2005 · 2.1K citations
Patrice Godefroid, Nils Klarlund, Koushik Sen · 2005 · 1.5K citations
Three Partition Refinement Algorithms
Robert Paige, Robert E. Tarjan · SIAM Journal on Computing · 1987 · 1.2K citations