Defect prediction guided search-based software testing

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

1 Citation (Scopus)

Abstract

Today, most automated test generators, such as search-based software testing (SBST) techniques focus on achieving high code coverage. However, high code coverage is not sufficient to maximise the number of bugs found, especially when given a limited testing budget. In this paper, we propose an automated test generation technique that is also guided by the estimated degree of defectiveness of the source code. Parts of the code that are likely to be more defective receive more testing budget than the less defective parts. To measure the degree of defectiveness, we leverage Schwa, a notable defect prediction technique.We implement our approach into EvoSuite, a state of the art SBST tool for Java. Our experiments on the Defects4J benchmark demonstrate the improved efficiency of defect prediction guided test generation and confirm our hypothesis that spending more time budget on likely defective parts increases the number of bugs found in the same time budget.

Original languageEnglish
Title of host publicationProceedings - 2020 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020
EditorsClaire Le Goues, David Lo
Place of PublicationNew York NY USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages448-460
Number of pages13
ISBN (Electronic)9781450367684
DOIs
Publication statusPublished - 2020
EventAutomated Software Engineering Conference 2020 - Virtual, Melbourne, Australia
Duration: 21 Sep 202025 Sep 2020
Conference number: 35th
https://dl.acm.org/doi/proceedings/10.1145/3324884 (Proceedings)
https://conf.researchr.org/home/ase-2020 (Website)

Conference

ConferenceAutomated Software Engineering Conference 2020
Abbreviated titleASE 2020
CountryAustralia
CityMelbourne
Period21/09/2025/09/20
Internet address

Keywords

  • automated test generation
  • defect prediction
  • search-based software testing

Cite this