JMLUnit: the next generation

  • Authors:
  • Daniel M. Zimmerman;Rinkesh Nagmoti

  • Affiliations:
  • Institute of Technology, University of Washington Tacoma, Tacoma, Washington;Institute of Technology, University of Washington Tacoma, Tacoma, Washington

  • Venue:
  • FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Designing unit test suites for object-oriented systems is a painstaking, repetitive, and error-prone task, and significant research has been devoted to the automatic generation of test suites. One method for generating unit tests is to use formal class and method specifications as test oracles and automatically run them with developer-provided data values; for Java code with formal specifications written in the Java Modeling Language, this method is embodied in the JMLUnit tool and the JUnit testing framework on which it is based. While JMLUnit can provide reasonable test coverage when used by a skilled developer, it suffers from several shortcomings including excessive memory utilization during testing and the need to manually write significant amounts of code to generate non-primitive test data objects. In this paper we describe JMLUnitNG, a TestNG-based successor to JMLUnit that can automatically generate and execute millions of tests, using supplied test data of only primitive types, without consuming excessive amounts of memory. We also present a comparison of test coverage between JMLUnitNG and the original JMLUnit.