DocumentCode
112111
Title
STAR: Stack Trace Based Automatic Crash Reproduction via Symbolic Execution
Author
Ning Chen ; Sunghun Kim
Author_Institution
Dept. of Comput. Sci. & Eng., Hong Kong Univ. of Sci. & Technol., Kowloon, China
Volume
41
Issue
2
fYear
2015
fDate
Feb. 1 2015
Firstpage
198
Lastpage
220
Abstract
Software crash reproduction is the necessary first step for debugging. Unfortunately, crash reproduction is often labor intensive. To automate crash reproduction, many techniques have been proposed including record-replay and post-failure-process approaches. Record-replay approaches can reliably replay recorded crashes, but they incur substantial performance overhead to program executions. Alternatively, post-failure-process approaches analyse crashes only after they have occurred. Therefore they do not incur performance overhead. However, existing post-failure-process approaches still cannot reproduce many crashes in practice because of scalability issues and the object creation challenge. This paper proposes an automatic crash reproduction framework using collected crash stack traces. The proposed approach combines an efficient backward symbolic execution and a novel method sequence composition approach to generate unit test cases that can reproduce the original crashes without incurring additional runtime overhead. Our evaluation study shows that our approach successfully exploited 31 (59.6 percent) of 52 crashes in three open source projects. Among these exploitable crashes, 22 (42.3 percent) are useful reproductions of the original crashes that reveal the crash triggering bugs. A comparison study also demonstrates that our approach can effectively outperform existing crash reproduction approaches.
Keywords
program debugging; program testing; project management; public domain software; system recovery; STAR; backward symbolic execution; crash stack traces; debugging; method sequence composition approach; object creation challenge; open source projects; post-failure-process approach; record-replay approach; scalability issues; software crash reproduction; stack trace based automatic crash reproduction; unit test case generation; Arrays; Color; Computer crashes; Explosions; Indexes; Optimization; Software; Crash reproduction; optimization; static analysis; symbolic execution; test case generation;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2014.2363469
Filename
6926857
Link To Document