TY - GEN
T1 - Prioritized test generation guided by software fault prediction
AU - Hershkovich, Eran
AU - Stern, Roni
AU - Abreu, Rui
AU - Elmishali, Amir
N1 - Publisher Copyright:
© 2021 IEEE.
PY - 2021/4/1
Y1 - 2021/4/1
N2 - 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.
AB - 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.
KW - Automated testing generation
KW - Fault prediction
KW - Machine learning
KW - Software testing
UR - http://www.scopus.com/inward/record.url?scp=85108023808&partnerID=8YFLogxK
U2 - 10.1109/ICSTW52544.2021.00045
DO - 10.1109/ICSTW52544.2021.00045
M3 - Conference contribution
AN - SCOPUS:85108023808
T3 - Proceedings - 2021 IEEE 14th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2021
SP - 218
EP - 225
BT - Proceedings - 2021 IEEE 14th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2021
PB - Institute of Electrical and Electronics Engineers
T2 - 14th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2021
Y2 - 12 April 2021 through 16 April 2021
ER -