kirancodes.me
To Proof Maintenance & Beyond!

Carving differential unit test cases from system test cases

Sebastian G. Elbaum, Hui Nee Chin, Matthew B. Dwyer, Jonathan Dokulil

Abstract

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. 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. We conjecture that DUTs retain some of the advantages of unit tests, can be automatically and inexpensively generated, and have the potential for revealing faults related to intricate system executions. In this paper we present a framework for automatically carving and replaying DUTs that accounts for a wide-variety of strategies, we implement an instance of the framework with several techniques to mitigate test cost and enhance flexibility, and we empirically assess the efficacy of carving and replaying DUTs.

BibTeX
@inproceedings{Elbaum-al:FSE06,
  author    = {Sebastian G. Elbaum and
               Hui Nee Chin and
               Matthew B. Dwyer and
               Jonathan Dokulil},
  title     = {Carving differential unit test cases from system test cases},
  booktitle = {FSE},
  pages     = {253--264},
  publisher = {{ACM}},
  year      = {2006},
}

Related papers