Bayesian Analysis of Bug-Fixing Time using Report Data
Background: Bug-fixing is the crux of software maintenance. It entails tending to heaps of bug reports using limited resources. Using historical data, we can ask questions that contribute to better-informed allocation heuristics. The caveat here is that often there is not enough data to provide a sound response. This issue is especially prominent for young projects. Also, answers may vary from project to project. Consequently, it is impossible to generalize results without assuming a notion of relatedness between projects.
Aims: Evaluate the independent impact of three report features in the bug-fixing time (BFT), generalizing results from many projects: bug priority, code-churn size in bug fixing commits, and existence of links to other reports (e.g., depends on or blocks other bug reports).
Method: We analyze 55 projects from the Apache ecosystem using Bayesian statistics. Similar to standard random effects methodology, we assume each project’s average BFT is a dispersed version of a global average BFT that we want to assess. We split the data based on feature values/range (e.g., with or without links). For each split, we compute a posterior distribution over its respective global BFT. Finally, we compare the posteriors to establish the feature’s effect on the BFT. We run independent analyses for each feature.
Results: Our results show that the existence of links and higher code-churn values lead to BFTs that are at least twice as long. On the other hand, considering three levels of priority (low, medium, and high), we observe no difference in the BFT.
Conclusion: To the best of our knowledge, this is the first study using hierarchical Bayes to extrapolate results from multiple projects and assess the global effect of different attributes on the BFT. We use this methodology to gain insight on how links, priority, and code-churn size impact the BFT. On top of that, our posteriors can be used as a prior to analyze novel projects, potentially young and scarce on data. We also believe our methodology can be reused for other generalization studies in empirical software engineering.
Thu 22 SepDisplayed time zone: Athens change
13:30 - 15:00 | Session 2B - Technical Debt & Effort EstimationESEM Industry Forum / ESEM Emerging Results and Vision Papers / ESEM Technical Papers at Sonck Chair(s): Carolyn Seaman University of Maryland Baltimore County | ||
13:30 20mFull-paper | Asking about Technical Debt: Characteristics and Automatic Identification of Technical Debt Questions on Stack Overflow ESEM Technical Papers Nicholas Kozanidis Vrije Universiteit Amsterdam, Roberto Verdecchia Vrije Universiteit Amsterdam, Emitzá Guzmán Vrije Universiteit Amsterdam Pre-print | ||
13:50 15mVision and Emerging Results | An Experience Report on Technical Debt in Pull Requests: Challenges and Lessons Learned ESEM Emerging Results and Vision Papers Shubhashis Karmakar University of Saskatchewan, Zadia Codabux University of Saskatchewan, Melina Vidoni Australian National University DOI | ||
14:05 20mFull-paper | Bayesian Analysis of Bug-Fixing Time using Report Data ESEM Technical Papers Renan Vieira Federal University of Ceará, Diego Mesquita Getulio Vargas Foundation, César Lincoln Mattos Federal University of Ceará, Ricardo Britto Ericsson / Blekinge Institute of Technology, Lincoln Rocha Federal University of Ceará, João Gomes Federal University of Ceará | ||
14:25 15mTalk | Investigating a NASA Cyclomatic Complexity Policy on Maintenance of a Critical System ESEM Industry Forum | ||
14:40 15mVision and Emerging Results | An Empirical Study on the Occurrences of Code Smells in Open Source and Industrial Projects ESEM Emerging Results and Vision Papers Md. Masudur Rahman Institute of Information Technology (IIT), University of Dhaka, Abdus Satter University of Dhaka, Mahbubul Alam Joarder Institute of Information Technology (IIT), University of Dhaka, Kazi Sakib Institute of Information Technology, University of Dhaka DOI Media Attached |