Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing

06/14/2022
by   Anjana Perera, et al.
0

Automated test generators, such as search based software testing (SBST) techniques, replace the tedious and expensive task of manually writing test cases. SBST techniques are effective at generating tests with high code coverage. However, is high code coverage sufficient to maximise the number of bugs found? We argue that SBST needs to be focused to search for test cases in defective areas rather in non-defective areas of the code in order to maximise the likelihood of discovering the bugs. Defect prediction algorithms give useful information about the bug-prone areas in software. Therefore, we formulate the objective of this thesis: Improve the bug detection capability of SBST by incorporating defect prediction information. To achieve this, we devise two research objectives, i.e., 1) Develop a novel approach (SBST_CL) that allocates time budget to classes based on the likelihood of classes being defective, and 2) Develop a novel strategy (SBST_ML) to guide the underlying search algorithm (i.e., genetic algorithm) towards the defective areas in a class. Through empirical evaluation on 434 real reported bugs in the Defects4J dataset, we demonstrate that our novel approach, SBST_CL, is significantly more efficient than the state of the art SBST when they are given a tight time budget in a resource constrained environment.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/26/2021

Defect Prediction Guided Search-Based Software Testing

Today, most automated test generators, such as search-based software tes...
research
10/06/2021

How good does a Defect Predictor need to be to guide Search-Based Software Testing?

Defect predictors, static bug detectors and humans inspecting the code c...
research
05/25/2020

SoK: The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing

Greybox fuzzing has been the most scalable and practical approach to sof...
research
09/23/2022

Large Language Models are Few-shot Testers: Exploring LLM-based General Bug Reproduction

Many automated test generation techniques have been developed to aid dev...
research
02/11/2018

Machine Learning and Evolutionary Computing for GUI-based Regression Testing

ReTest is a novel testing tool for Java applications with a graphical us...
research
04/07/2023

Sound Dynamic Deadlock Prediction in Linear Time

Deadlocks are one of the most notorious concurrency bugs, and significan...
research
05/08/2018

Crowdtesting : When is The Party Over?

Trade-offs such as "how much testing is enough" are critical yet challen...

Please sign up or login with your details

Forgot password? Click here to reset