skip to main content
10.1145/3387904.3389267acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

An Empirical Study on Critical Blocking Bugs

Published: 12 September 2020 Publication History

Abstract

Blocking bugs are a severe type of bugs that prevent other bugs from being fixed. As software becomes increasingly complex and large, blocking bugs occur in many large-scale software, especially in software ecosystems. Blocking bugs may have a high negative impact on software development and maintenance. Usually, blocking bugs preventing more bugs should be more concerned. In this paper, we focus on a special type of blocking bugs that block at least two bugs, which we call Critical Blocking Bugs (CBBs).
We study CBBs from the following five aspects: the importance, the repair time, the scale of repair, the experience of developers who repair CBBs, and the circumstance why CBBs block multiple bugs. We build a dataset containing five open source projects and classify bugs into three types (i.e., critical blocking bugs, normal blocking bugs and other bugs, which block at least two, just one and zero bugs, respectively) to compare the differences between CBBs and other types of bugs. The experimental results show that CBBs are more important with longer repair time and larger repair scale, and CBBs are concentrated on parts of components of the project. These results highlight that CBBs are different from other types of bugs in many aspects, and we should pay more attention to such bugs in the future software maintenance process.

References

[1]
Carina Andersson and Per Runeson. 2007. A Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems. IEEE Trans. Software Eng. 33, 5 (2007), 273--286. https://doi.org/10.1109/TSE.2007.1005
[2]
Lorena Arcega, Jaime Font, Øystein Haugen, and Carlos Cetina. 2019. An approach for bug localization in models using two levels: model and metamodel. Software and Systems Modeling 18 (2019), 3551--3576. https://doi.org/10.1007/s10270-019-00727-y
[3]
Gareth Baxter, Marcus R. Frean, James Noble, Mark Rickerby, Hayden Smith, Matt Visser, Hayden Melton, and Ewan D. Tempero. 2006. Understanding the shape of Java software. In Proceedings of the 21th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 22-26, 2006, Portland, Oregon, USA. 397--412. https://doi.org/10.1145/1167473.1167507
[4]
Sarah Boslaugh and Paul Watters. 2008. Statistics in a nutshell: A desktop quick reference.
[5]
Oscar Chaparro, Juan Manuel Florez, and Andrian Marcus. 2019. Using bug descriptions to reformulate queries during text-retrieval-based bug localization. Empirical Software Engineering 24, 5 (01 Oct 2019), 2947--3007. https://doi.org/10.1007/s10664-018-9672-z
[6]
Tse-Hsun Chen, Meiyappan Nagappan, Emad Shihab, and Ahmed E. Hassan. 2014. An empirical study of dormant bugs. In 11th Working Conference on Mining Software Repositories, MSR 2014, Proceedings, May 31-June 1, 2014, Hyderabad, India. 82--91.
[7]
Giulio Concas, Michele Marchesi, Alessandro Murgia, Roberto Tonelli, and Ivana Turnu. 2011. On the Distribution of Bugs in the Eclipse System. IEEE Trans. Software Eng. 37, 6 (2011), 872--877. https://doi.org/10.1109/TSE.2011.54
[8]
Giulio Concas, Michele Marchesi, Sandro Pinna, and Nicola Serra. 2006. On the suitability of Yule process to stochastically model some properties of object-oriented systems. Physica A Statistical Mechanics and its Applications 370, 2 (Oct. 2006), 817--831. https://doi.org/10.1016/j.physa.2006.02.024
[9]
Neda Ebrahimi, Abdelaziz Trabelsi, Md. Shariful Islam, Abdelwahab Hamou-Lhadj, and Kobra Khanmohammadi. 2019. An HMM-based approach for automatic detection and classification of duplicate bug reports. Information and Software Technology 113 (2019), 98--109. https://doi.org/10.1016/j.infsof.2019.05.007
[10]
Yuanrui Fan, Xin Xia, David Lo, and Ahmed E. Hassan. 2018. Chaff from the Wheat: Characterizing and Determining Valid Bug Reports. IEEE Transactions on Software Engineering PP (08 2018), 1--1. https://doi.org/10.1109/TSE.2018.2864217
[11]
Tihana Galinac Grbac, Per Runeson, and Darko Huljenic. 2013. A Second Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems. IEEE Trans. Software Eng. 39, 4 (2013), 462--476. https://doi.org/10.1109/TSE.2012.46
[12]
Haochen He. 2019. Tuning Backfired? Not (Always) Your Fault: Understanding and Detecting Configuration-Related Performance Bugs. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Tallinn, Estonia) (ESEC/FSE 2019). Association for Computing Machinery, New York, NY, USA, 1229--1231. https://doi.org/10.1145/3338906.3342498
[13]
T. Hoang, R. J. Oentaryo, T. B. Le, and D. Lo. 2019. Network-Clustered Multi-Modal Bug Localization. IEEE Transactions on Software Engineering 45, 10 (Oct 2019), 1002--1023. https://doi.org/10.1109/TSE.2018.2810892
[14]
S. Hosseini, B. Turhan, and D. Gunarathna. 2019. A Systematic Literature Review and Meta-Analysis on Cross Project Defect Prediction. IEEE Transactions on Software Engineering 45, 2 (Feb 2019), 111--147. https://doi.org/10.1109/TSE.2017.2770124
[15]
Md Johirul Islam, Giang Nguyen, Rangeet Pan, and Hridesh Rajan. 2019. A Comprehensive Study on Deep Learning Bug Characteristics. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (Tallinn, Estonia) (ESEC/FSE 2019). Association for Computing Machinery, New York, NY, USA, 510--520. https://doi.org/10.1145/3338906.3338955
[16]
Y. Kashiwa, H. Yoshiyuki, Y. Kukita, and M. Ohira. 2014. A Pilot Study of Diversity in High Impact Bugs. In 2014 IEEE International Conference on Software Maintenance and Evolution. 536--540. https://doi.org/10.1109/ICSME.2014.89
[17]
Sun-Ro Lee, Min-Jae Heo, Chan-Gun Lee, Milhan Kim, and Gaeul Jeong. 2017. Applying Deep Learning Based Automatic Bug Triager to Industrial Projects. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (Paderborn, Germany) (ESEC/FSE 2017). Association for Computing Machinery, New York, NY, USA, 926--931. https://doi.org/10.1145/3106237.3117776
[18]
Zhiqiang Li, Xiao-Yuan Jing, Xiaoke Zhu, Hongyu Zhang, Baowen Xu, and Shi Ying. 2019. Heterogeneous defect prediction with two-stage ensemble learning. Automated Software Engineering 26, 3 (01 Sep 2019), 599--651. https://doi.org/10.1007/s10515-019-00259-1
[19]
Joseph P. Near and Daniel Jackson. 2016. Finding Security Bugs in Web Applications Using a Catalog of Access Control Patterns. In Proceedings of the 38th International Conference on Software Engineering (Austin, Texas) (ICSE 16). Association for Computing Machinery, New York, NY, USA, 947--958. https://doi.org/10.1145/2884781.2884836
[20]
Anh Tuan Nguyen, Tung Thanh Nguyen, Hoan Anh Nguyen, and Tien N. Nguyen. 2012. Multi-Layered Approach for Recovering Links between Bug Reports and Fixes. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (Cary, North Carolina) (FSE '12). Association for Computing Machinery, New York, NY, USA, Article 63, 11 pages. https://doi.org/10.1145/2393596.2393671
[21]
Zeeshan Ahmed Nizamani, Hui Liu, David M. Chen, and Zhendong Niu. 2018. Automatic approval prediction for software enhancement requests. Autom. Softw. Eng. 25, 2 (2018), 347--381. https://doi.org/10.1007/s10515-017-0229-y
[22]
Gema Rodríguez-Pérez, Gregorio Robles, and Jesús M. González-Barahona. 2018. Reproducibility and credibility in empirical software engineering: A case study based on a systematic literature review of the use of the SZZ algorithm. Information and Software Technology 99 (2018), 164--176. https://doi.org/10.1016/j.infsof.2018.03.009
[23]
A. Sarkar, P. C. Rigby, and B. Bartalos. 2019. Improving Bug Triaging with High Conidence Predictions at Ericsson. In 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). 81--91. https://doi.org/10.1109/ICSME.2019.00018
[24]
Emad Shihab, Akinori Ihara, Yasutaka Kamei, Walid M. Ibrahim, Masao Ohira, Bram Adams, Ahmed E. Hassan, and Ken-ichi Matsumoto. 2013. Studying reopened bugs in open source software. Empirical Software Engineering 18, 5 (01 Oct 2013), 1005--1042. https://doi.org/10.1007/s10664-012-9228-6
[25]
Emad Shihab, Audris Mockus, Yasutaka Kamei, Bram Adams, and Ahmed E. Hassan. 2011. High-Impact Defects: A Study of Breakage and Surprise Defects. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (Szeged, Hungary) (ESEC/FSE '11). Association for Computing Machinery, New York, NY, USA, 300--310. https://doi.org/10.1145/2025113.2025155
[26]
Jacek Sliwerski, Thomas Zimmermann, and Andreas Zeller. 2005. When do changes induce fixes?. In Proceedings of the 2005 International Workshop on Mining Software Repositories, MSR 2005, Saint Louis, Missouri, USA, May 17, 2005.
[27]
Harold Valdivia-Garcia, Emad Shihab, and Meiyappan Nagappan. 2018. Characterizing and predicting blocking bugs in open source projects. Journal of Systems and Software 143 (2018), 44--58. https://doi.org/10.1016/j.jss.2018.03.053
[28]
X. Xia, D. Lo, Y. Ding, J. M. Al-Kofahi, T. N. Nguyen, and X. Wang. 2017. Improving Automated Bug Triaging with Specialized Topic Model. IEEE Transactions on Software Engineering 43, 3 (March 2017), 272--297. https://doi.org/10.1109/TSE.2016.2576454
[29]
Xin Xia, David Lo, Emad Shihab, Xinyu Wang, and Xiaohu Yang. 2015. ELBlocker: Predicting blocking bugs with ensemble imbalance learning. Information and Software Technology 61 (2015), 93--106. https://doi.org/10.1016/j.infsof.2014.12.006
[30]
Yan Xiao, Jacky Keung, Kwabena E. Bennin, and Qing Mi. 2019. Improving bug localization with word embedding and enhanced convolutional neural networks. Information and Software Technology 105 (2019), 17--29. https://doi.org/10.1016/j.infsof.2018.08.002
[31]
Yan Xiao, Jacky Keung, Kwabena E. Bennin, and Qing Mi. 2019. Improving bug localization with word embedding and enhanced convolutional neural networks. Information and Software Technology 105 (2019), 17--29. https://doi.org/10.1016/j.infsof.2018.08.002
[32]
Asmita Yadav, Sandeep Kumar Singh, and Jasjit S. Suri. 2019. Ranking of software developers based on expertise score for bug triaging. Information and Software Technology 112 (2019), 1 -17. https://doi.org/10.1016/j.infsof.2019.03.014
[33]
Junwen Yang, Pranav Subramaniam, Shan Lu, Cong Yan, and Alvin Cheung. 2018. How Not to Structure Your Database-Backed Web Applications: A Study of Performance Bugs in the Wild. In Proceedings of the 40th International Conference on Software Engineering (Gothenburg, Sweden) (ICSE '18). Association for Computing Machinery, New York, NY, USA, 800--810. https://doi.org/10.1145/3180155.3180194
[34]
X. Yang, D. Lo, X. Xia, L. Bao, and J. Sun. 2016. Combining Word Embedding with Information Retrieval to Recommend Similar Bug Reports. In 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE). 127--137. https://doi.org/10.1109/ISSRE.2016.33
[35]
Yibiao Yang, Yuming Zhou, Jinping Liu, Yangyang Zhao, Hongmin Lu, Lei Xu, Baowen Xu, and Hareton Leung. 2016. Effort-aware just-in-time defect prediction: simple unsupervised models could be better than supervised models. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 157--168.
[36]
Suraj Yatish, Jirayus Jiarpakdee, Patanamon Thongtanunam, and Chakkrit Tantithamthavorn. 2019. Mining software defects: should we consider affected releases?. In Proceedings of the 41st International Conference on Software Engineering, ICSE 2019, Montreal, QC, Canada, May 25-31, 2019. 654--665.
[37]
T. Yu, W. Wen, X. Han, and J. H. Hayes. 2019. ConPredictor: Concurrency Defect Prediction in Real-World Applications. IEEE Transactions on Software Engineering 45, 6 (June 2019), 558--575. https://doi.org/10.1109/TSE.2018.2791521
[38]
Wen Zhang, Song Wang, and Qing Wang. 2016. KSAP: An approach to bug report assignment using KNN search and heterogeneous proximity. Information and Software Technology 70 (2016), 68--84. https://doi.org/10.1016/j.infsof.2015.10.004
[39]
Weiqin Zou, David Lo, Zhenyu Chen, Xin Xia, Yang Feng, and Baowen Xu. 2018. How Practitioners Perceive Automated Bug Report Management Techniques. IEEE Transactions on Software Engineering PP (09 2018), 1--1. https://doi.org/10.1109/TSE.2018.2870414

Cited By

View all
  • (2024)Understanding Vulnerability Inducing Commits of the Linux KernelACM Transactions on Software Engineering and Methodology10.1145/367245233:7(1-28)Online publication date: 14-Jun-2024
  • (2024)Why and how bug blocking relations are breakableInformation and Software Technology10.1016/j.infsof.2023.107354166:COnline publication date: 1-Feb-2024
  • (2021)Improving Blocking Bug Pair Prediction via Hybrid Deep Learning2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C)10.1109/QRS-C55045.2021.00110(727-732)Online publication date: Dec-2021

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICPC '20: Proceedings of the 28th International Conference on Program Comprehension
July 2020
481 pages
ISBN:9781450379588
DOI:10.1145/3387904
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 September 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Blocking Bugs
  2. Bugs
  3. Empirical Study
  4. Software Maintenance

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICPC '20
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)3
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Understanding Vulnerability Inducing Commits of the Linux KernelACM Transactions on Software Engineering and Methodology10.1145/367245233:7(1-28)Online publication date: 14-Jun-2024
  • (2024)Why and how bug blocking relations are breakableInformation and Software Technology10.1016/j.infsof.2023.107354166:COnline publication date: 1-Feb-2024
  • (2021)Improving Blocking Bug Pair Prediction via Hybrid Deep Learning2021 IEEE 21st International Conference on Software Quality, Reliability and Security Companion (QRS-C)10.1109/QRS-C55045.2021.00110(727-732)Online publication date: Dec-2021

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