Proceedings Article10.1145/1321631.1321698
Efficient unit test case minimization
Andreas Leitner,Manuel Oriol,Andreas Zeller,Ilinca Ciupa,Bertrand Meyer +4 more
- 05 Nov 2007
- pp 417-420
124
TL;DR: A combination of static slicing and delta debugging that automatically minimizes the sequence of failure-inducing method calls is presented, which improves on the state of the art by being far more efficient.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Regression testing minimization, selection and prioritization: a survey
Shin Yoo,Mark Harman +1 more
TL;DR: This paper surveys each area of minimization, selection and prioritization technique and discusses open problems and potential directions for future research.
1.5K
The Oracle Problem in Software Testing: A Survey
TL;DR: This paper provides a comprehensive survey of current approaches to the test oracle problem and an analysis of trends in this important area of software testing research and practice.
1K
Sapienz: multi-objective automated testing for Android applications
Ke Mao,Mark Harman,Yue Jia +2 more
- 18 Jul 2016
TL;DR: Sapienz, an approach to Android testing that uses multi-objective search-based testing to automatically explore and optimise test sequences, minimising length, while simultaneously maximising coverage and fault revelation, significantly outperforms both the state-of-the-art technique Dynodroid and the widely-used tool, Android Monkey.
Mutation-driven generation of unit tests and oracles
Gordon Fraser,Andreas Zeller +1 more
- 12 Jul 2010
TL;DR: The μtest prototype generates test suites that find significantly more seeded defects than the original manually written test suites, and is optimized toward finding defects modeled by mutation operators rather than covering code.
Search-Based Software Testing: Past, Present and Future
Phil McMinn
- 21 Mar 2011
TL;DR: Past work and the current state of the art on Search-Based Software Testing are reviewed, and potential future research areas and open problems that remain in the field are discussed.
340
References
Simplifying and isolating failure-inducing input
Andreas Zeller,R. Hildebrandt +1 more
TL;DR: The delta debugging algorithm generalizes and simplifies the failing test case to a minimal test case that still produces the failure, and isolates the difference between a passing and a failingTest case.
Programmers use slices when debugging
TL;DR: The experiment reported here shows that programmers also routinely break programs into one kind of coherent piece which is not coniguous.
854
Incremental regression testing
H. Agrawal,J.R. Horgan,E.W. Krauser,S. London +3 more
- 01 Sep 1993
TL;DR: The purpose of regression testing is to ensure that bug fixes and new functionality introduced in a new version of a software do not adversely affect the correct functionality inherited from the previous version.
299
Dynamic slicing of computer programs
B. Korel,Janusz Laski +1 more
TL;DR: Dynamic slicing introduced in this paper differs from the original static slicing in that it is defined on the basis of a computation and allows us to treat array elements and fields in dynamic records as individual variables, which leads to a further reduction of the slice size.
259
Locating faulty code using failure-inducing chops
Neelam Gupta,Haifeng He,Xiangyu Zhang,Rajiv Gupta +3 more
- 07 Nov 2005
TL;DR: This paper presents a new approach that integrates the potential of delta debugging algorithm with the benefit of forward and backward dynamic program slicing to narrow down the search for faulty code.