Show simple item record

Hunting bugs: Towards an automated approach to identifying which change caused a bug through regression testing

dc.contributor.authorMaes-Bermejo, Michel
dc.contributor.authorSerebrenik, Alexander
dc.contributor.authorGallego, Micael
dc.contributor.authorCortázar, Francisco
dc.contributor.authorRobles, Gregorio
dc.contributor.authorGonzález Barahona, Jesús María
dc.date.accessioned2024-06-26T08:07:17Z
dc.date.available2024-06-26T08:07:17Z
dc.date.issued2024-05-04
dc.identifier.citationMaes-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-zes
dc.identifier.issn1573-7616 (online)
dc.identifier.issn1382-3256 (print)
dc.identifier.urihttps://hdl.handle.net/10115/35139
dc.descriptionOpen 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)es
dc.description.abstractContext 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 methodes
dc.language.isoenges
dc.publisherSpringeres
dc.rightsAtribución 4.0 Internacional*
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/*
dc.subjectBug originses
dc.subjectBug-introducing changeses
dc.subjectFirst-failing changees
dc.subjectSZZ algorithmes
dc.subjectSoftware Testinges
dc.subjectRegression Testinges
dc.titleHunting bugs: Towards an automated approach to identifying which change caused a bug through regression testinges
dc.typeinfo:eu-repo/semantics/articlees
dc.identifier.doi10.1007/s10664-024-10479-zes
dc.rights.accessRightsinfo:eu-repo/semantics/openAccesses


Files in this item

This item appears in the following Collection(s)

Show simple item record

Atribución 4.0 InternacionalExcept where otherwise noted, this item's license is described as Atribución 4.0 Internacional