ABSTRACT
In this study, we assess bug life cycles to identify bottlenecks in the bug tracking processes, and examine the effectiveness of bug tracking system usage practices linked to bug states and state transitions. To achieve this, we examined the bug life cycles of three open-source software projects which use Bugzilla as their bug tracking system. In total, we have analyzed 106.196 bugs gathered from these projects. We started by looking at the temporal and quantitative aspects of these projects’ bug life cycles. After that, we collected data about how bug life cycles differ over time. Finally, we inspected the frequency of reopened and state-looping bugs in these projects. After our analysis, we have deduced that the presented temporal and quantitative analysis of bug life cycles is useful for finding bottlenecks and undesired behaviors in the bug tracking processes. We also inferred that examining the changes in bug life cycles over time can provide insights into how bug tracking practices changed throughout the project’s lifetime, and it can be used as a parameter to assess whether the bug tracking system usage has improved. Lastly, we deducted that analyzing undesired state trails’ frequency provides insights into the performance of bug tracking processes. Based on the insights gained from analyzing bug life cycles with the presented methods, we believe that decision makers can improve their workflow by introducing or removing new states to the bug life cycle and adding new rules and restrictions to their bug tracking process.
- Marco D’Ambros, Michele Lanza, and Martin Pinzger. 2007. "A Bug’s Life" Visualizing a Bug Database. In 2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis. 113–120. https://doi.org/10.1109/VISSOF.2007.4290709Google ScholarCross Ref
- Bartosz Dobrzyński and Janusz Sosnowski. 2016. Tracing Life Cycle of Software Bugs. In Dependability Engineering and Complex Systems, Wojciech Zamojski, Jacek Mazurkiewicz, Jarosław Sugier, Tomasz Walkowiak, and Janusz Kacprzyk (Eds.). Springer International Publishing, Cham, 109–120.Google Scholar
- Benjamin Doerr and Andrew M. Sutton. 2019. When Resampling to Cope with Noise, Use Median, Not Mean. In Proceedings of the Genetic and Evolutionary Computation Conference (Prague, Czech Republic) (GECCO ’19). Association for Computing Machinery, New York, NY, USA, 242–248. https://doi.org/10.1145/3321707.3321837Google ScholarDigital Library
- Santiago Dueñas, Valerio Cosentino, Gregorio Robles, and Jesus M. Gonzalez-Barahona. 2018. Perceval: Software Project Data at Your Will. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (Gothenburg, Sweden) (ICSE ’18). Association for Computing Machinery, New York, NY, USA, 1–4. https://doi.org/10.1145/3183440.3183475Google ScholarDigital Library
- Mona Erfani Joorabchi, Mehdi Mirzaaghaei, and Ali Mesbah. 2014. Works for Me! Characterizing Non-Reproducible Bug Reports. In Proceedings of the 11th Working Conference on Mining Software Repositories (Hyderabad, India) (MSR 2014). Association for Computing Machinery, New York, NY, USA, 62–71. https://doi.org/10.1145/2597073.2597098Google ScholarDigital Library
- GCC. [n. d.]. GCC Bugzilla Main Page. https://gcc.gnu.org/bugzilla/ Accessed: 2022-05-01.Google Scholar
- Monika Gupta and Ashish Sureka. 2014. Nirikshan: Mining Bug Report History for Discovering Process Maps, Inefficiencies and Inconsistencies. In Proceedings of the 7th India Software Engineering Conference (Chennai, India) (ISEC ’14). Association for Computing Machinery, New York, NY, USA, Article 1, 10 pages. https://doi.org/10.1145/2590748.2590749Google ScholarDigital Library
- Monika Gupta and Ashish Sureka. 2014. Process Cube for Software Defect Resolution. In 2014 21st Asia-Pacific Software Engineering Conference, Vol. 1. 239–246. https://doi.org/10.1109/APSEC.2014.45Google ScholarDigital Library
- Akinori Ihara, Masao Ohira, and Ken-ichi Matsumoto. 2009. An Analysis Method for Improving a Bug Modification Process in Open Source Software Development. In Proceedings of the Joint International and Annual ERCIM Workshops on Principles of Software Evolution (IWPSE) and Software Evolution (Evol) Workshops (Amsterdam, The Netherlands) (IWPSE-Evol ’09). Association for Computing Machinery, New York, NY, USA, 135–144. https://doi.org/10.1145/1595808.1595833Google ScholarDigital Library
- Anakorn Jongyindee, Masao Ohira, Akinori Ihara, and Ken ichi Matsumoto. 2012. Good or Bad Committers? A Case Study of Committer’s Activities on the Eclipse’s Bug Fixing Process. IEICE Transactions on Information and Systems E95.D, 9 (2012), 2202–2210. https://doi.org/10.1587/transinf.E95.D.2202Google Scholar
- Prerna Juneja, Divya Kundra, and Ashish Sureka. 2016. Anvaya: An Algorithm and Case-Study on Improving the Goodness of Software Process Models Generated by Mining Event-Log Data in Issue Tracking Systems. In 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC), Vol. 1. 53–62. https://doi.org/10.1109/COMPSAC.2016.64Google ScholarCross Ref
- Timo Koponen. 2006. Life cycle of Defects in Open Source Software Projects. In Open Source Systems, Ernesto Damiani, Brian Fitzgerald, Walt Scacchi, Marco Scotto, and Giancarlo Succi (Eds.). Springer US, Boston, MA, 195–200.Google Scholar
- Linux. [n. d.]. Linux Bugzilla Main Page. https://bugzilla.kernel.org/ Accessed: 2022-10-12.Google Scholar
- Qing Mi and Jacky Keung. 2016. An Empirical Analysis of Reopened Bugs Based on Open Source Projects. In Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering (Limerick, Ireland) (EASE ’16). Association for Computing Machinery, New York, NY, USA, Article 37, 10 pages. https://doi.org/10.1145/2915970.2915986Google ScholarDigital Library
- Khushbakht Ali Qamar, Emre Sülün, and Eray Tüzün. 2022. Taxonomy of bug tracking process smells: Perceptions of practitioners and an empirical analysis. Information and Software Technology 150 (2022), 106972. https://doi.org/10.1016/j.infsof.2022.106972Google ScholarDigital Library
- Henrique Rocha, Guilherme de Oliveira, Marco Tulio Valente, and Humberto Marques-Neto. 2016. Characterizing Bug Workflows in Mozilla Firefox. In Proceedings of the 30th Brazilian Symposium on Software Engineering (Maringá, Brazil) (SBES ’16). Association for Computing Machinery, New York, NY, USA, 43–52. https://doi.org/10.1145/2973839.2973844Google ScholarDigital Library
- Rodrigo Souza, Christina Chavez, and Roberto Bittencourt. 2013. Patterns for cleaning up bug data. In 2013 1st International Workshop on Data Analysis Patterns in Software Engineering (DAPSE). 26–28. https://doi.org/10.1109/DAPSE.2013.6603806Google ScholarCross Ref
- Rodrigo Souza, Christina Chavez, and Roberto Bittencourt. 2013. Patterns for extracting high level information from bug reports. In 2013 Conference: 1st International Workshop on Data Analysis Patterns in Software Engineering. 29–31. https://doi.org/10.1109/DAPSE.2013.6603807Google ScholarCross Ref
- Lin Tan, Chen Liu, Zhenmin Li, Xuanhui Wang, Yuanyuan Zhou, and Chengxiang Zhai. 2014. Bug Characteristics in Open Source Software. Empirical Softw. Engg. 19, 6 (dec 2014), 1665–1705. https://doi.org/10.1007/s10664-013-9258-8Google ScholarDigital Library
- Erdem Tuna, Vladimir Kovalenko, and Eray Tüzün. 2022. Bug Tracking Process Smells In Practice. In 2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). 77–86. https://doi.org/10.1145/3510457.3513080Google ScholarDigital Library
- Jue Wang and Hongyu Zhang. 2012. Predicting defect numbers based on defect state transition models. In Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. 191–200. https://doi.org/10.1145/2372251.2372287Google ScholarDigital Library
- Wireshark. [n. d.]. Bugzilla Main Page. https://bugs.wireshark.org/bugzilla/ Accessed: 2022-05-01.Google Scholar
- Hongyu Zhang, Liang Gong, and Steve Versteeg. 2013. Predicting bug-fixing time: An empirical study of commercial software projects. In 2013 35th International Conference on Software Engineering (ICSE). 1042–1051. https://doi.org/10.1109/ICSE.2013.6606654Google ScholarCross Ref
- Thomas Zimmermann, Nachiappan Nagappan, Philip J. Guo, and Brendan Murphy. 2012. Characterizing and predicting which bugs get reopened. In 2012 34th International Conference on Software Engineering (ICSE). 1074–1083. https://doi.org/10.1109/ICSE.2012.6227112Google ScholarCross Ref
Recommendations
Bug tracking process smells in practice
ICSE-SEIP '22: Proceedings of the 44th International Conference on Software Engineering: Software Engineering in PracticeSoftware teams use bug tracking (BT) tools to report and manage bugs. Each record in a bug tracking system (BTS) is a reporting entity consisting of several information fields. The contents of the reports are similar across different tracking tools, ...
Improving bug triage with bug tossing graphs
ESEC/FSE '09: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineeringbug report is typically assigned to a single developer who is then responsible for fixing the bug. In Mozilla and Eclipse, between 37%-44% of bug reports are "tossed" (reassigned) to other developers, for example because the bug has been assigned by ...
"Not my bug!" and other reasons for software bug report reassignments
CSCW '11: Proceedings of the ACM 2011 conference on Computer supported cooperative workBug reporting/fixing is an important social part of the soft-ware development process. The bug-fixing process inher-ently has strong inter-personal dynamics at play, especially in how to find the optimal person to handle a bug report. Bug report ...
Comments