Rostra: a framework for detecting redundant object-oriented unit tests

Abstract

Object-oriented unit tests consist of sequences of method invocations. Behavior of an invocation depends on the state of the receiver object and method arguments at the beginning of the invocation. Existing tools for automatic generation of object-oriented test suites, such as Jtest and J Crasher for Java, typically ignore this state and thus generate redundant tests that exercise the same method behavior, which increases the testing time without increasing the ability to detect faults. This work proposes Rostra, a framework for detecting redundant unit tests, and presents five fully automatic techniques within this framework. We use Rostra to assess and minimize test suites generated by test-generation tools. We also present how Rostra can be added to these tools to avoid generation of redundant tests. We have implemented the five Rostra techniques and evaluated them on 11 subjects taken from a variety of sources. The experimental results show that Jtest and JCrasher generate a high percentage of redundant tests and that Rostra can remove these redundant tests without decreasing the quality of test suites.

DOI: 10.1109/ASE.2004.10056
View Slides

Extracted Key Phrases

8 Figures and Tables

Statistics

0102030'04'05'06'07'08'09'10'11'12'13'14'15'16'17
Citations per Year

187 Citations

Semantic Scholar estimates that this publication has 187 citations based on the available data.

See our FAQ for additional information.

Cite this paper

@article{Xie2004RostraAF, title={Rostra: a framework for detecting redundant object-oriented unit tests}, author={Tao Xie and Darko Marinov and David Notkin}, journal={Proceedings. 19th International Conference on Automated Software Engineering, 2004.}, year={2004}, pages={196-205} }