Proving Non-Termination

被引:70
作者
Gupta, Ashutosh K.
Henzinger, Thomas A.
Majumdar, Rupak
Rybalchenko, Andrey
Xu, Ru-Gang
机构
来源
POPL'08: PROCEEDINGS OF THE 35TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES | 2008年
关键词
Program verification; Model checking; Testing; Non-termination; Recurrent Sets;
D O I
10.1145/1328438.1328459
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The search for proof and the search for counterexampics (bugs) are complementary activities that need to be pursued concurrently in order to maximize the practical success rate of verification tools. While this is well-understood in safety verification, the current focus of liveness verification has been almost exclusively on the search for termination proofs. A counterexample to termination is an infinite program execution. In this paper, we propose a method to search for such counterexamples. The search proceeds in two phases. We first dynamically enumerate lasso-shaped candidate paths for counterexamples, and then statically prove their feasibility. We illustrate the utility of our nontermination prover, called TNT, on several nontrivial examples, some of which require bit-level reasoning about integer representations.
引用
收藏
页码:147 / 158
页数:12
相关论文
共 29 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]  
BALL T, 2002, POPL, P1
[3]  
BLOCH J, 2006, NEARLY ALL BINARY SE
[4]  
Bradley AR, 2005, LECT NOTES COMPUT SC, V3580, P1349
[5]  
CATES WJ, 2002, P ASPLOS, P304
[6]   Bounded model checking using satisfiability solving [J].
Clarke, E ;
Biere, A ;
Raimi, R ;
Zhu, Y .
FORMAL METHODS IN SYSTEM DESIGN, 2001, 19 (01) :7-34
[7]  
COLON M, 2002, LNCS, V2404, P442
[8]  
Colón MA, 2003, LECT NOTES COMPUT SC, V2725, P420
[9]  
Cook B, 2005, LECT NOTES COMPUT SC, V3576, P296
[10]  
Cook B, 2006, ACM SIGPLAN NOTICES, V41, P415, DOI 10.1145/1133981.1134029