Hunting bugs: Towards an automated approach to identifying which change caused a bug through regression testing
Archivos
Fecha
2024-05-04
Título de la revista
ISSN de la revista
Título del volumen
Editor
Springer
Resumen
Context
Finding code changes that introduced bugs is important both for practitioners and researchers, but doing it precisely is a manual, effort-intensive process. The perfect test method is a theoretical construct aimed at detecting Bug-Introducing Changes (BIC) through a theoretical perfect test. This perfect test always fails if the bug is present, and passes otherwise.
Objective
To explore a possible automatic operationalization of the perfect test method.
Method
To use regression tests as substitutes for the perfect test. For this, we transplant the regression tests to past snapshots of the code, and use them to identify the BIC, on a well-known collection of bugs from the Defects4J dataset.
Results
From 809 bugs in the dataset, when running our operationalization of the perfect test method, for 95 of them the BIC was identified precisely and in the remaining 4 cases, a list of candidates including the BIC was provided.
Conclusions
We demonstrate that the operationalization of the perfect test method through regression tests is feasible and can be completely automated in practice when tests can be transplanted and run in past snapshots of the code. Given that implementing regression tests when a bug is fixed is considered a good practice, when developers follow it, they can detect effortlessly bug-introducing changes by using our operationalization of the perfect test method
Descripción
Open Access funding provided thanks to the CRUE-CSIC agreement with Springer Nature. The research presented in this paper has been supported in part by the Government of Spain, through project Dependentium (PID2022-139551NB-I00)
Palabras clave
Citación
Maes-Bermejo, M., Serebrenik, A., Gallego, M. et al. Hunting bugs: Towards an automated approach to identifying which change caused a bug through regression testing. Empir Software Eng 29, 66 (2024). https://doi.org/10.1007/s10664-024-10479-z
Colecciones
Excepto si se señala otra cosa, la licencia del ítem se describe como Atribución 4.0 Internacional