ReCrash: Making software failures reproducible by preserving object states

Download: PDF, slides (PDF), slides (PowerPoint), ReCrash implementation.

“ReCrash: Making software failures reproducible by preserving object states” by Shay Artzi, Sunghun Kim, and Michael D. Ernst. In ECOOP 2008 — Object-Oriented Programming, 22nd European Conference, (Paphos, Cyprus), July 2008, pp. 542-565.
A previous version appeared as “ReCrash: Making crashes reproducible” by Sunghun Kim, Shay Artzi, and Michael D. Ernst. MIT Computer Science and Artificial Intelligence Laboratory technical report MIT-CSAIL-TR-2007-054, (Cambridge, MA), November 20, 2007.

Abstract

It is very hard to fix a software failure without being able to reproduce it. However, reproducing a failure is often difficult and time-consuming. This paper proposes a novel technique, ReCrash, that generates multiple unit tests that reproduce a given program failure. During every execution of the target program, ReCrash stores partial copies of method arguments in memory. If the program fails (e.g., crashes), ReCrash uses the saved information to create unit tests reproducing the failure.

We present ReCrashJ, an implementation of ReCrash for Java. ReCrashJ reproduced real crashes from Javac, SVNKit, Eclipsec, 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 the crash occurs for a second time, at which point the test cases are generated.

Download: PDF, slides (PDF), slides (PowerPoint), ReCrash implementation.

BibTeX entry:

@inproceedings{ArtziKE2008,
   author = {Shay Artzi and Sunghun Kim and Michael D. Ernst},
   title = {ReCrash: Making software failures reproducible by preserving
	object states},
   booktitle = {ECOOP 2008 --- Object-Oriented Programming, 22nd European
	Conference},
   pages = {542--565},
   address = {Paphos, Cyprus},
   month = jul,
   year = {2008}
}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.