Tool-assisted unit test generation and selection based on operational abstractions

Download: PDF.

“Tool-assisted unit test generation and selection based on operational abstractions” by Tao Xie and David Notkin. Automated Software Engineering Journal, vol. 13, no. 3, July 2006, pp. 345-371.
A previous version appeared as “Tool-assisted unit test selection based on operational violations” by Tao Xie and David Notkin. In ASE 2003: Proceedings of the 18th Annual International Conference on Automated Software Engineering, (Montreal, Canada), Oct. 2003, pp. 40-48.
A previous version appeared as “Exploiting synergy between testing and inferred partial specifications” by Tao Xie and David Notkin. In WODA 2003: Workshop on Dynamic Analysis, (Portland, OR, USA), May 2003, pp. 17-20.
A previous version appeared as “Exploiting synergy between testing and inferred partial specifications” by Tao Xie and David Notkin. University of Washington Paul G. Allen School of Computer Science and Engineering technical report UW-CSE-03-04-02, (Seattle, WA, USA), Apr. 2003.

Abstract

Unit testing, a common step in software development, presents a challenge. When produced manually, unit test suites are often insufficient to identify defects. The main alternative is to use one of a variety of automatic unit-test generation tools: these are able to produce and execute a large number of test inputs that extensively exercise the unit under test. However, without a priori specifications, programmers need to manually verify the outputs of these test executions, which is generally impractical. To reduce this cost, unit-test selection techniques may be used to help select a subset of automatically generated test inputs. Then programmers can verify their outputs, equip them with test oracles, and put them into the existing test suite. In this paper, we present the operational violation approach for unit-test generation and selection, a black-box approach without requiring a priori specifications. The approach dynamically generates operational abstractions from executions of the existing unit test suite. These operational abstractions guide test generation tools to generate tests to violate them. The approach selects those generated tests violating operational abstractions for inspection. These selected tests exercise some new behavior that has not been exercised by the existing tests. We implemented this approach by integrating the use of Daikon (a dynamic invariant detection tool) and Parasoft Jtest (a commercial Java unit testing tool), and conducted several experiments to assess the approach.

Download: PDF.

BibTeX entry:

@article{XieN2006,
   author = {Tao Xie and David Notkin},
   title = {Tool-assisted unit test generation and selection based on
	operational abstractions},
   journal = {Automated Software Engineering Journal},
   volume = {13},
   number = {3},
   pages = {345--371},
   month = jul,
   year = {2006}
}

Back to Publications whose methodology uses invariant detection.