Abstract
One of the first attempts at the automation of test case reduction was the minimizing delta debugging algorithm, widely known as ddmin. Despite its age, it is still an unavoidable cornerstone of this field of research. One criticism against ddmin is that it can take too long to reach the granularity where it can perform actual reduction. Therefore, in this paper, ddmin is generalized with respect to the granularity by introducing a new split factor parameter, leading to the formalization of a parametric algorithm variant. The complexity analysis of this parametric variant reveals that the theoretical worst and best-case behavior of ddmin can be improved. Moreover, the results of experiments with the generalized algorithm show that the reduction can be sped up significantly by choosing the right split factor: up to 84% of the test steps can be eliminated in practice.
Highlights
W HEN a fault is first triggered in a software, the test case that triggers it is rarely concise
EXPERIMENTAL RESULTS To allow experiments with the generalized split factor of the minimizing delta debugging algorithm, Algorithm 3 has been implemented into the Picire project, a syntaxunaware test case reduction framework written in Python3
SUMMARY In this paper, we have focused on the minimizing delta debugging algorithm, which – despite its age – is still one of the most important works in the field of automated test case reduction
Summary
W HEN a fault is first triggered in a software, the test case that triggers it is rarely concise. Many researchers have experimented with different reduction techniques, trying to improve performance [3], [4], aiming for smaller results, or specializing in various input domains [5], [6] – but ddmin was always there in the past two decades, either as a basis to build an improved approach upon [3] or as a baseline to compare improvements against [7]. The rest of this paper is structured as follows: Section II discusses the original minimizing delta debugging algorithm to give the necessary background information in order to make this paper self-contained.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.