Randomized unit test cases can be very effective in detecting defects. In practice, however, failing test cases often comprise long sequences of method calls that are tiresome to reproduce and debug. We present a combination of static slicing and delta debugging that automatically minimizes the sequence of failure-inducing method calls. In a case study on the EiffelBase library, the strategy minimizes failing unit test cases on average by 96%. This approach improves on the state of the art by being far more efficient: in contrast to the approach of Lei and Andrews, who use delta debugging alone, our case study found slicing to be 50 times faster, while providing comparable results. The combination of slicing and delta debugging gives the best results and is 11 times faster.
%0 Conference Paper
%1 Leitner:2007:EUT:1321631.1321698
%A Leitner, Andreas
%A Oriol, Manuel
%A Zeller, Andreas
%A Ciupa, Ilinca
%A Meyer, Bertrand
%B Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering
%C New York, NY, USA
%D 2007
%I ACM
%K automated_input_minimization bertrand_meyer heuristic software_slicing software_testing testcase_reduction
%P 417--420
%R 10.1145/1321631.1321698
%T Efficient Unit Test Case Minimization
%U http://doi.acm.org/10.1145/1321631.1321698
%X Randomized unit test cases can be very effective in detecting defects. In practice, however, failing test cases often comprise long sequences of method calls that are tiresome to reproduce and debug. We present a combination of static slicing and delta debugging that automatically minimizes the sequence of failure-inducing method calls. In a case study on the EiffelBase library, the strategy minimizes failing unit test cases on average by 96%. This approach improves on the state of the art by being far more efficient: in contrast to the approach of Lei and Andrews, who use delta debugging alone, our case study found slicing to be 50 times faster, while providing comparable results. The combination of slicing and delta debugging gives the best results and is 11 times faster.
%@ 978-1-59593-882-4
@inproceedings{Leitner:2007:EUT:1321631.1321698,
abstract = {Randomized unit test cases can be very effective in detecting defects. In practice, however, failing test cases often comprise long sequences of method calls that are tiresome to reproduce and debug. We present a combination of static slicing and delta debugging that automatically minimizes the sequence of failure-inducing method calls. In a case study on the EiffelBase library, the strategy minimizes failing unit test cases on average by 96%. This approach improves on the state of the art by being far more efficient: in contrast to the approach of Lei and Andrews, who use delta debugging alone, our case study found slicing to be 50 times faster, while providing comparable results. The combination of slicing and delta debugging gives the best results and is 11 times faster.},
acmid = {1321698},
added-at = {2017-09-04T13:26:44.000+0200},
address = {New York, NY, USA},
author = {Leitner, Andreas and Oriol, Manuel and Zeller, Andreas and Ciupa, Ilinca and Meyer, Bertrand},
biburl = {https://www.bibsonomy.org/bibtex/2b4c121117dd1aa998298f1c2ffa6b2ed/schmidt2},
booktitle = {Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering},
description = {Efficient unit test case minimization},
doi = {10.1145/1321631.1321698},
interhash = {c6d403a9e6f17de99503b18e3185e093},
intrahash = {b4c121117dd1aa998298f1c2ffa6b2ed},
isbn = {978-1-59593-882-4},
keywords = {automated_input_minimization bertrand_meyer heuristic software_slicing software_testing testcase_reduction},
location = {Atlanta, Georgia, USA},
numpages = {4},
pages = {417--420},
publisher = {ACM},
series = {ASE '07},
timestamp = {2017-09-04T13:26:44.000+0200},
title = {Efficient Unit Test Case Minimization},
url = {http://doi.acm.org/10.1145/1321631.1321698},
year = 2007
}