DocumentCode
1852082
Title
Looper: Lightweight Detection of Infinite Loops at Runtime
Author
Burnim, Jacob ; Jalbert, Nicholas ; Stergiou, Christos ; Sen, Koushik
Author_Institution
Electr. Eng. & Comput. Sci. Dept., Univ. of California, Berkeley, CA, USA
fYear
2009
fDate
16-20 Nov. 2009
Firstpage
161
Lastpage
169
Abstract
When a running program becomes unresponsive, it is often impossible for a user to determine if the program is performing some useful computation or if it has entered an infinite loop. We present LOOPER, an automated technique for dynamically analyzing a running program to prove that it is non-terminating. LOOPER uses symbolic execution to produce simple non-termination arguments for infinite loops dependent on both program values and the shape of heap. The constructed arguments are verified with an off-the-shelf SMT solver. We have implemented our technique in a prototype tool for Java applications, and we demonstrate our technique´s effectiveness on several non-terminating benchmarks, including a reported infinite loop bug in open-source text editor jEdit. Our tool is able to dynamically detect infinite loops deep in the execution of large Java programs with no false warnings, producing symbolic arguments that can aid in debugging non-termination.
Keywords
Java; program diagnostics; Java application; Java programs; LOOPER; SMT solver; infinite loops; jEdit; lightweight detection; open-source text editor; program analysis; program values; running program; simple nontermination arguments; symbolic arguments; symbolic execution; Debugging; Jacobian matrices; Java; Open source software; Prototypes; Runtime; Shape; Software engineering; Surface-mount technology; USA Councils;
fLanguage
English
Publisher
ieee
Conference_Titel
Automated Software Engineering, 2009. ASE '09. 24th IEEE/ACM International Conference on
Conference_Location
Auckland
ISSN
1938-4300
Print_ISBN
978-1-4244-5259-0
Electronic_ISBN
1938-4300
Type
conf
DOI
10.1109/ASE.2009.87
Filename
5431775
Link To Document