ReCrash: Making crashes reproducible

TitleReCrash: Making crashes reproducible
Publication TypeMiscellaneous
Year of Publication2007
AuthorsKim S, Artzi S, Ernst MD
Abstract<p>It is difficult to fix a problem without being able to reproduce it. However, reproducing a problem is often difficult and time-consuming. This paper proposes a novel algorithm, ReCrash, that generates multiple unit tests that reproduce a given program crash. ReCrash dynamically tracks method calls during every execution of the target program. If the program crashes, ReCrash saves information about the relevant method calls and uses the saved information to create unit tests reproducing the crash. </p> <p> We present ReCrashJ, an implementation of ReCrash for Java. ReCrashJ reproduced real crashes from javac, SVNKit, Eclipse JDT, and BST\@. ReCrashJ is efficient, incurring 13%–64% performance overhead. If this overhead is unacceptable, then ReCrashJ has another mode that has negligible overhead until a crash occurs and 0%–1.7% overhead until a second crash, at which point the test cases are generated.</p>
DownloadsReCrash implementation PDF PostScript DSpace
Citation KeyKimAE2007
Last changed Mon, 2013-06-03 10:27