Welcome to JCrasher

An automatic robustness tester for Java

Abstract

JCrasher is an automatic robustness testing tool for Java code. JCrasher examines the type information of a set of Java classes and constructs code fragments that will create instances of different types to test the behavior of public methods under random data. JCrasher attempts to detect bugs by causing the program under test to "crash"--to throw an undeclared runtime exception. Although in general the random testing approach has many limitations, it also has the advantage of being completely automatic: no supervision is required except for online inspection of the test cases that have caused a crash. Compared to other similar commercial and research tools, JCrasher offers several novelties:

Download

Download JCrasher--it's free. You can still get the old JCrasher version we used for the experiments that appeared in Software--Practice & Experience 2004.

Check 'n' Crash and DSD-Crasher are JCrasher's successors. Check 'n' Crash uses a more directed search to find bugs--by building on ESC/Java's theorem proving techniques. DSD-Crasher adds another dynamic analysis step at the beginning of the static-dynamic Check 'n' Crash analysis pipeline.

Technical Talks

Technical Papers

Others using JCrasher in teaching

Others using JCrasher in research

People

This Website