skip to main content
research-article

Comparing fine-grained source code changes and code churn for bug prediction - A retrospective

Published: 21 July 2021 Publication History

Abstract

More than two decades ago, researchers started to mine the data stored in software repositories to help software developers in making informed decisions for developing and testing software systems. Bug prediction was one of the most promising and popular research directions that uses the data stored in software repositories to predict the bug-proneness or number of bugs in source files. On that topic and as part of Emanuel's PhD studies, we submitted a paper with the title Comparing fine-grained source code changes and code churn for bug prediction [8] to the 8th Working Conference on Mining Software Engineering, held 2011 in beautiful Honolulu, Hawaii. Ten years later, it got selected as one of the finalists to receive the MSR 2021 Most Influential Paper Award. In the following, we provide a retrospective on our work, describing the road to publishing this paper, its impact in the field of bug prediction, and the road ahead.

References

[1]
HD Arora and Talat Parveen. 2019. Computation of Various Entropy Measures for Anticipating Bugs in Open-Source Software. In Software Engineering. Springer, 235--247.
[2]
Caius Brindescu, Iftekhar Ahmed, Rafael Leano, and Anita Sarma. 2020. Planning for untangling: Predicting the difficulty of merge conflicts. In Proceedgins of the International Conference on Software Engineering. IEEE, 801--811.
[3]
Nélio Cacho, Thiago César, Thomas Filipe, Eliezio Soares, Arthur Cassio, Rafael Souza, Israel Garcia, Eiji Adachi Barbosa, and Alessandro Garcia. 2014. Trading robustness for maintainability: an empirical study of evolving c# programs. In Proceedings of the International Conference on Software Engineering. IEEE, 584-- 595.
[4]
Jean-Rémy Falleri, Floréal Morandat, Xavier Blanc, Matias Martinez, and Martin Monperrus. 2014. Fine-Grained and Accurate Source Code Differencing. In Proceedings of the International Conference on Automated Software Engineering. ACM, 313--324.
[5]
Beat Fluri, Michael Würsch, Martin Pinzger, and Harald C. Gall. 2007. Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction. IEEE Transactions on Software Engineering 33, 11 (2007), 725--743.
[6]
Harald C. Gall, Beat Fluri, and Martin Pinzger. 2009. Change Analysis with Evolizer and ChangeDistiller. IEEE Software 26, 1 (2009), 26--33.
[7]
Emanuel Giger, Marco D'Ambros, Martin Pinzger, and Harald C Gall. 2012. Method-level bug prediction. In Proceedings of the International Symposium on Empirical Software Engineering and Measurement. IEEE, 171--180. ACM SIGSOFT Software Engineering Newsletter Page 22 July 2021 Volume 46 Number 3 Comparing fine-grained source code changes and code churn for bug prediction - A retrospective MSR '21, May 23--24, 2021, Madrid, Spain
[8]
Emanuel Giger, Martin Pinzger, and Harald C. Gall. 2011. Comparing Fine- Grained Source Code Changes and Code Churn for Bug Prediction. In Proceedings of the Working Conference on Mining Software Repositories. ACM, 83--92.
[9]
Tihana Galinac Grbac, Goran Mausa, and Bojana Dalbelo Basic. 2013. Stability of Software Defect Prediction in Relation to Levels of Data Imbalance. In Proceedings of the Workshop on Software Quality Analysis, Monitoring, Improvement and Applications. CEUR-WS.org, 1--10.
[10]
Hadi Hemmati, Sarah Nadi, Olga Baysal, Oleksii Kononenko, Wei Wang, Reid Holmes, and MichaelWGodfrey. 2013. The msr cookbook: Mining a decade of research. In Proceedings for the Working Conference on Mining Software Repositories. IEEE, 343--352.
[11]
Vedran Ljubovic and Enil Pajic. 2020. Plagiarism Detection in Computer Programming Using Feature Extraction from Ultra-Fine-Grained Repositories. IEEE Access (2020).
[12]
Aravind Machiry, Nilo Redini, Eric Camellini, Christopher Kruegel, and Giovanni Vigna. 2020. Spider: Enabling fast patch propagation in related software repositories. In Proceedings of the Symposium on Security and Privacy. IEEE, 1562--1579.
[13]
Lech Madeyski and Marian Jureczko. 2015. Which process metrics can significantly improve defect prediction models? An empirical study. Software Quality Journal 23, 3 (2015), 393--422.
[14]
Matias Martinez and Martin Monperrus. 2015. Mining software repair models for reasoning on the search space of automated program fixing. Empirical Software Engineering 20, 1 (2015), 176--205.
[15]
Raimund Moser, Witold Pedrycz, and Giancarlo Succi. 2008. A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction. In Proceedings of the International Conference on Software Engineering. ACM, 181--190.
[16]
Nachiappan Nagappan and Thomas Ball. 2005. Use of Relative Code Churn Measures to Predict System Defect Density. In Proceedings of the International Conference on Software Engineering. ACM, 284--292.
[17]
Malanga Kennedy Ndenga, Ivaylo Ganchev, Jean Mehat, Franklin Wabwoba, and Herman Akdag. 2019. Performance and cost-effectiveness of change burst metrics in predicting software faults. Knowledge and Information Systems 60, 1 (2019), 275--302.
[18]
Hoan Anh Nguyen, Anh Tuan Nguyen, Tung Thanh Nguyen, Tien N Nguyen, and Hridesh Rajan. 2013. A study of repetitiveness of code changes in software evolution. In Proceedings of the International Conference on Automated Software Engineering. IEEE, 180--190.
[19]
Daniele Romano, Paulius Raila, Martin Pinzger, and Foutse Khomh. 2012. Analyzing the impact of antipatterns on change-proneness using fine-grained source code changes. In Proceedings of the Working Conference on Reverse Engineering. IEEE, 437--446.
[20]
Tingyu Song, Xiaohong Li, Zhiyong Feng, and Guangquan Xu. 2019. Inferring Patterns for Taint-Style Vulnerabilities With Security Patches. IEEE Access 7 (2019), 52339--52349.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 46, Issue 3
July 2021
40 pages
ISSN:0163-5948
DOI:10.1145/3468744
Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 July 2021
Published in SIGSOFT Volume 46, Issue 3

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 98
    Total Downloads
  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media