What if a bug has a Different Origin? Making Sense of Bugs Without an Explicit Bug Introducing Change

Gema Rodriguez Perez, Andy Zaidman, Alexander Serebrenik, Gregorio Robles, Jesus M. Gonzalez-Barahona

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

18 Citations (Scopus)
81 Downloads (Pure)

Abstract

Background: Many studies in the software research literature on bug fixing are built upon the assumption that "a given bug was introduced by the lines of code that were modified to fix it", or variations of it. Although this assumption seems very reasonable at first glance, there is little empirical evidence supporting it. A careful examination surfaces that there are other possible sources for the introduction of bugs such as modifications to those lines that happened before the last change an changes external to the piece of code being fixed. Goal: We aim at understanding the complex phenomenon of bug introduction and bug fix. Method: We design a preliminary approach distinguishing between bug introducing commits (BIC) and first failing moments (FFM). We apply this approach to Nova and ElasticSearch, two large and well-known open source software projects. Results: In our initial results we obtain that at least 24% bug fixes in Nova and 10% in ElasticSearch have not been caused by a BIC but by co-evolution, compatibility issues or bugs in external API. Merely 26--29% of BICs can be found using the algorithm based on the assumption that "a given bug was introduced by the lines of code that were modified to fix it". Conclusions: The approach allows also for a better framing of the comparison of automatic methods to find bug inducting changes. Our results indicate that more attention should be paid to whether a bug has been introduced and, when it was introduced.
Original languageEnglish
Title of host publicationESEM '18 Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
EditorsMarkku Oivo, Daniel Mendez Fernandez, Audris Mockus
Place of PublicationNew York
PublisherAssociation for Computing Machinery (ACM)
Pages1-4
Number of pages4
ISBN (Print)978-1-4503-5823-1
DOIs
Publication statusPublished - 2018
Event12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement: ESEM 2018 - Oulu, Finland
Duration: 10 Oct 201812 Oct 2018
Conference number: 12

Conference

Conference12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
Country/TerritoryFinland
CityOulu
Period10/10/1812/10/18

Bibliographical note

Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care
Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public.

Keywords

  • Bug-introducing change
  • SZZ algorithm
  • Empirical Study

Fingerprint

Dive into the research topics of 'What if a bug has a Different Origin? Making Sense of Bugs Without an Explicit Bug Introducing Change'. Together they form a unique fingerprint.
  • Best Emerging Results Paper Award

    Rodriguez Perez, Gema (Recipient), Zaidman, A.E. (Recipient), Serebrenik, Alexander (Recipient), Robles, Gregorio (Recipient) & Gonzalez-Barahona, Jesus M. (Recipient), 2018

    Prize: Prize (including medals and awards)

Cite this