רון שטרן

אקדמי בכיר

Prioritized test generation guided by software fault prediction

Eran Hershkovich, Roni Stern, Rui Abreu, Amir Elmishali

Writing and running software unit tests is one of the fundamental techniques used to maintain software quality. However, this process is rather costly and time consuming. Thus, much effort has been devoted to generating unit tests automatically. The common objective of test generation algorithms is to maximize code coverage. However, maximizing coverage is not necessarily correlated with identifying faults [1]. In this work, we propose a novel approach for test generation aiming at generating a small set of tests that cover the software components that are likely to contain bugs. To identify which components are more likely to contain bugs, we train a software fault prediction model using machine learning techniques. We implemented this approach in practice in a tool called QUADRANT, and demonstrate its effectiveness on five real-world, open-source projects. Results show the benefit of using QUADRANT, where test generation guided by our fault prediction model can detect more than double the number of bugs compared to a coverage-oriented approach, thereby saving test generation and execution efforts.

שפת פרסום אנגלית
דפים 218-225
סטטוס פרסום פורסם - 01.04.2021
מספר מאמר 9440144

Keywords

Automated testing generation
Fault prediction
Machine learning
Software testing

ASJC Scopus subject areas

Artificial Intelligence
Software
Safety, Risk, Reliability and Quality
קבצים וקישורים אחרים
Link to publication in Scopus