JCrasher: An automatic robustness tester for Java

Download: PDF, implementation.

``JCrasher: An automatic robustness tester for Java'' by Christoph Csallner and Yannis Smaragdakis. Software -- Practice & Experience, vol. 34, no. 11, Sep. 2004, pp. 1025-1050.

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 and will examine the behavior of the public methods under random data. JCrasher attempts to detect bugs by causing the program under test to ``crash'', i.e. 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 off-line inspection of the test cases that have caused a crash. Compared to other similar commercial and research tools, JCrasher offers several novelties: it transitively analyzes methods, determines the size of each tested method’s parameter-space and selects parameter combinations and therefore test cases at random, taking into account the time allocated for testing; it defines heuristics for determining whether a Java exception should be considered a program bug or the JCrasher supplied inputs have violated the code’s preconditions; it includes support for efficiently undoing all the state changes introduced by previous tests; it produces test files for JUnit (a popular Java testing tool); and can be integrated in the Eclipse IDE.

Download: PDF, implementation.

BibTeX entry:

@article{csallner04jcrasher,
   author = {Christoph Csallner and Yannis Smaragdakis},
   title = {{JCrasher}: An automatic robustness tester for {Java}},
   journal = {Software---Practice & Experience},
   volume = {34},
   number = {11},
   pages = {1025--1050},
   month = sep,
   year = {2004}
}

Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author s copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Back to Christoph Csallner. This page was generated with bibtex2web.