Issue No. 01 - January/February (2009 vol. 35)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2008.103
Sebastian Elbaum , University of Nebraska, Lincoln
Hui Nee Chin , University of Nebraska, Lincoln
Matthew B. Dwyer , University of Nebraska, Lincoln
Matthew Jorde , University of Nebraska, Lincoln
Unit test cases are focused and efficient. System tests are effective at exercising complex usage patterns. Differential unit tests (DUT) are a hybrid of unit and system tests that exploits their strengths. They are generated by carving the system components, while executing a system test case, that influence the behavior of the target unit, and then re-assembling those components so that the unit can be exercised as it was by the system test. In this paper we show that DUTs retain some of the advantages of unit tests, can be automatically generated, and have the potential for revealing faults related to intricate system executions. We present a framework for carving and replaying DUTs that accounts for a wide variety of strategies and tradeoffs, we implement an automated instance of the framework with several techniques to mitigate test cost and enhance flexibility and robustness, and we empirically assess the efficacy of carving and replaying DUTs on three software artifacts.
Testing strategies, Test execution, Test design
H. N. Chin, M. Jorde, S. Elbaum and M. B. Dwyer, "Carving and Replaying Differential Unit Test Cases from System Test Cases," in IEEE Transactions on Software Engineering, vol. 35, no. , pp. 29-45, 2008.