Skip to main navigation Skip to search Skip to main content

Exploring and exploiting the correlations between bug-inducing and bug-fixing commits

  • Ming Wen
  • , Rongxin Wu
  • , Yepang Liu
  • , Yongqiang Tian
  • , Xuan Xie
  • , Shing Chi Cheung
  • , Zhendong Su

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

Abstract

Bug-inducing commits provide important information to understand when and how bugs were introduced. Therefore, they have been extensively investigated by existing studies and frequently leveraged to facilitate bug fixings in industrial practices. Due to the importance of bug-inducing commits in software debugging, we are motivated to conduct the first systematic empirical study to explore the correlations between bug-inducing and bug-fixing commits in terms of code elements and modifications. To facilitate the study, we collected the inducing and fixing commits for 333 bugs from seven large open-source projects. The empirical findings reveal important and significant correlations between a bug's inducing and fixing commits. We further exploit the usefulness of such correlation findings from two aspects. First, they explain why the SZZ algorithm, the most widely-adopted approach to collecting bug-inducing commits, is imprecise. In view of SZZ's imprecision, we revisited the findings of previous studies based on SZZ, and found that 8 out of 10 previous findings are significantly affected by SZZ's imprecision. Second, they shed lights on the design of automated debugging techniques. For demonstration, we designed approaches that exploit the correlations with respect to statements and change actions. Our experiments on Defects4J show that our approaches can boost the performance of fault localization significantly and also advance existing APR techniques.

Original languageEnglish
Title of host publicationProceedings of the 2019 27th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
EditorsMarlon Dumas, Dietmar Pfahl, Sven Apel, Alessandra Russo
Place of PublicationNew York NY USA
PublisherAssociation for Computing Machinery (ACM)
Pages326-337
Number of pages12
ISBN (Electronic)9781450355728
DOIs
Publication statusPublished - 2019
Externally publishedYes
EventJoint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019 - Tallinn, Estonia
Duration: 26 Aug 201930 Aug 2019
Conference number: 27th
https://esec-fse19.ut.ee/ (Website)
https://dl.acm.org/doi/proceedings/10.1145/3338906 (Proceedings)

Conference

ConferenceJoint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2019
Abbreviated titleESEC/FSE 2019
Country/TerritoryEstonia
CityTallinn
Period26/08/1930/08/19
Internet address

Keywords

  • Bug-inducing commits
  • Empirical study
  • Fault localization and repair

Cite this