Extending Hierarchical Delta Debugging with Hoisting

04/08/2021
by   Dániel Vince, et al.
0

Minimizing failing test cases is an important pre-processing step on the path of debugging. If much of a test case that triggered a bug does not contribute to the actual failure, then the time required to fix the bug can increase considerably. However, test case reduction itself can be a time consuming task, especially if done manually. Therefore, automated minimization techniques have been proposed, the minimizing Delta Debugging (DDMIN) and the Hierarchical Delta Debugging (HDD) algorithms being the most well known. DDMIN does not need any information about the structure of the test case, thus it works for any kind of input. If the structure is known, however, it can be utilized to create smaller test cases faster. This is exemplified by HDD, which works on tree-structured inputs, pruning subtrees at each level of the tree with the help of DDMIN. In this paper, we propose to extend HDD with a reduction method that does not prune subtrees, but replaces them with compatible subtrees further down the hierarchy, called hoisting. We have evaluated various combinations of pruning and hoisting on multiple test suites and found that hoisting can help to further reduce the size of test cases by as much as 80 baseline HDD. We have also compared our results to other state-of-the-art test case reduction algorithms and found that HDD extended with hoisting can produce smaller output in most of the cases.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/22/2021

Leveraging Models to Reduce Test Cases in Software Repositories

Given a failing test case, test case reduction yields a smaller test cas...
research
10/14/2021

Identifying Similar Test Cases That Are Specified in Natural Language

Software testing is still a manual process in many industries, despite t...
research
05/31/2021

CrossASR++: A Modular Differential Testing Framework for Automatic Speech Recognition

Developers need to perform adequate testing to ensure the quality of Aut...
research
02/28/2022

Automatic Test-Case Reduction in Proof Assistants: A Case Study in Coq

As the adoption of proof assistants increases, there is a need for effic...
research
05/13/2021

VPPS-ART: An Efficient Implementation of Fixed-Size-Candidate-Set Adaptive Random Testing using Vantage Point Partitioning Strategy

As an enhanced version of Random Testing (RT), Adaptive Random Testing (...
research
02/20/2023

A3Test: Assertion-Augmented Automated Test Case Generation

Test case generation is an important activity, yet a time-consuming and ...
research
05/28/2020

Unlucky Explorer: A Complete non-Overlapping Map Exploration

Nowadays, the field of Artificial Intelligence in Computer Games (AI in ...

Please sign up or login with your details

Forgot password? Click here to reset