ACM Home Page
Please provide us with feedback. Feedback
SYNERGY: a new algorithm for property checking
Full text PdfPdf (656 KB)
Source Foundations of Software Engineering archive
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering table of contents
Portland, Oregon, USA
SESSION: Formal approaches to programming table of contents
Pages: 117 - 127  
Year of Publication: 2006
ISBN:1-59593-468-5
Authors
Bhargav S. Gulavani  IIT Bombay
Thomas A. Henzinger  EPFL
Yamini Kannan  Microsoft Research India
Aditya V. Nori  Microsoft Research India
Sriram K. Rajamani  Microsoft Research India
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 86,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1181775.1181790
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
F#:http://research.microsoft.com/fsharp/fsharp.aspx
 
2
T. Ball, S. Lahiri, M. Musuvathi. zap: Automated theorem proving for software analysis. Tech. Rep. MSR-TR-2005-137, Microsoft Research, 2005.
 
3
 
4
 
5
 
6
 
7
8
 
9
J. Edvardsson. A survey on automatic test data generation. In Computer Science and Engineering in Linköping, pp. 21--28. ECSEL, 1999.
 
10
D. Engler, B. Chelf, A. Chou, S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Operating System Design and Implementation, pp. 1--16. Usenix, 2000.
11
 
12
P. Godefroid and N. Klarlund. Software model checking: Searching for computations in the abstract or the concrete. In Integrated Formal Methods, LNCS 3771, pp. 20--32. Springer, 2005.
13
 
14
B.S. Gulavani and S.K. Rajamani. Counterexample- driven refinement for abstract interpretation. In Tools and Algorithms for the Construction and Analysis of Systems, LNCS 3920, pp. 474--488. Springer, 2006.
 
15
16
17
18
 
19
R. Jhala and K.L. McMillan. A practical and complete approach to predicate refinement. In Tools and Algorithms for the Construction and Analysis of Systems, LNCS 3920, pp. 459--473. Springer, 2006.
 
20
 
21
D. Kröning, A. Groce, E.M. Clarke. Counterexample- guided abstraction refinement via program execution. In Formal Engineering Methods (ICFEM), LNCS 3308, pp. 224--238. Springer, 2004.
 
22
23
 
24
 
25
R. Milner. An algebraic definition of simulation between programs. In Artificial Intelligence (IJCAI), pp. 481--489. British Computer Society, 1971.
 
26
 
27
C.S. Pasareanu, R. Pelánek, W. Visser. Concrete model checking with abstract matching and refinement. In Computer-Aided Verification, LNCS 3576, pp. 52--66. Springer, 2005.
 
28
A. Srivastava, A. Edwards, H. Vo. vulcan: Binary transformation in a distributed environment. Tech. Rep. MSR-TR-2001-50, Microsoft Research, 2001.
29

CITED BY  8

Collaborative Colleagues:
Bhargav S. Gulavani: colleagues
Thomas A. Henzinger: colleagues
Yamini Kannan: colleagues
Aditya V. Nori: colleagues
Sriram K. Rajamani: colleagues