Fuzzy set and cache-based approach for bug triaging
2011, Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering - SIGSOFT/FSE '11
Abstract
Bug triaging aims to assign a bug to the most appropriate fixer. That task is crucial in reducing time and efforts in a bug fixing process. In this paper, we propose Bugzie, a novel approach for automatic bug triaging based on fuzzy set and cache-based modeling of the bug-fixing expertise of developers. Bugzie considers a software system to have multiple technical aspects, each of which is associated with technical terms. For each technical term, it uses a fuzzy set to represent the developers who are capable/competent of fixing the bugs relevant to the corresponding aspect. The fixing correlation of a developer toward a technical term is represented by his/her membership score toward the corresponding fuzzy set. The score is calculated based on the bug reports that (s)he has fixed, and is updated as the newly fixed bug reports are available. For a new bug report, Bugzie combines the fuzzy sets corresponding to its terms and ranks the developers based on their membership scores toward that combined fuzzy set to find the most capable fixers. Our empirical results show that Bugzie achieves significantly higher accuracy and time efficiency than existing state-of-the-art approaches.
References (38)
- REFERENCES
- J. Al-Kofahi, A. Tamrawi, T. Nguyen, H. Nguyen, and T.N. Nguyen. Fuzzy Set Approach for Automatic Tagging in Evolving Software. In ICSM'10. IEEE CS, 2010.
- Apache. https://issues.apache.org/jira/
- J. Anvik, L. Hiew, and G. C. Murphy. Who should fix this bug? In ICSE '06, pages 361-370. ACM Press, 2006.
- O. Baysal, M. W. Godfrey, and R. Cohen. A bug you like: A framework for automated assignment of bugs. In ICPC'09, pages 297-298. IEEE CS, 2009.
- P. Bhattacharya and I. Neamtiu. Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. In ICSM'10. IEEE CS, 2010.
- N. Bettenburg, S. Just, A. Schröter, C. Weiss, R. Premraj, T. Zimmermann. What makes a good bug report? In FSE'08, pages 308-318. ACM Press, 2008.
- N. Bettenburg, R. Premraj, T. Zimmermann, S. Kim. Duplicate bug reports considered harmful... really? In ICSM' 08, pages 337-345. IEEE CS, 2008.
- G. Canfora and L. Cerulo. How software repositories can help in resolving a new change request. In Workshop on Empirical Studies in Reverse Eng., 2005.
- D. Blei, A.Y. Ng, and M. Jordan. Latent Dirichlet Allocation. J. Mach. Learn. Res. 3 (2003), 993-1022.
- G. Canfora and L. Cerulo. Supporting change request assignment in open source development. In SAC'06: ACM symposium on Applied computing, pages 1767-1772. ACM Press, 2006.
- D. Cubranic and G. Murphy. Automatic bug triage using text categorization. In SEKE'04: the 16th International Conference on Software Engineering and Knowledge Engineering, pages 92-97. KSI Press, 2004.
- G. Di-Lucca, M. Di-Penta, and S. Gradara. An approach to classify software maintenance requests. In ICSM'02, pages 93-102, IEEE CS, 2002.
- FireFox. https://bugzilla.mozilla.org/
- FreeDesktop. https://bugs.freedesktop.org/
- M. Fischer, M. Pinzger, H. Gall. Analyzing and relating bug report data for feature tracking. In WCRE'03, pages 90-99. IEEE CS, 2003.
- Gcc. http://gcc.gnu.org/bugzilla/
- J. Han, M. Kamber, and J. Pei. Data Mining: Concepts and Techniques. The Morgan Kaufmann Series in Data Management Systems, 2006.
- L. Hiew. Assisted detection of duplicate bug reports. Master's thesis, University of British Columbia, 2006.
- P. Hooimeijer, W. Weimer. Modeling bug report quality. In ASE '07, pages 34-43. ACM Press, 2007.
- D. Jannach, M. Zanker, A. Felfernig, G. Friedrich. Recommender Systems: An Introduction. Cambridge University Press, 2011.
- G. Jeong, S. Kim, T. Zimmermann. Improving bug triage with bug tossing graphs. In FSE'09, pages 111-120. ACM Press, 2009.
- S. Kim, T. Zimmermann, J. Whitehead Jr., and A. Zeller. Predicting faults from cached history. In ICSE'07, pages 489-498. IEEE CS, 2007.
- S. Kim, E.J. Whitehead, Jr. How long did it take to fix bugs? In MSR '06, pages 173-174. ACM Press, 2006.
- G.J. Klir and Bo Yuan. Fuzzy Sets and Fuzzy Logic: Theory and Applications. Prentice Hall, 1995.
- A.J. Ko, A.B. Myers, D.H. Chau. A linguistic analysis of how people describe software problems. In VLHCC'06, pagess 127-134. IEEE CS, 2006.
- Z. Lin, F. Shu, Y. Yang, C. Hu, and Q. Wang. An empirical study on bug assignment automation using Chinese bug data. In ESEM'09, pages 451-455. IEEE CS, 2009.
- D. Matter, A. Kuhn, and O. Nierstrasz. Assigning bug reports using a vocabulary-based expertise model of developers. In MSR'09, pp. 131-140. IEEE CS, 2009.
- T. Menzies, A.Marcus. Automated severity assessment of software defect reports. In ICSM'08, pages 346-355. IEEE CS, 2008.
- Netbeans. http://netbeans.org/bugzilla/
- A. Podgurski, D. Leon, P. Francis, W. Masri, M. Minch, J. Sun, B. Wang. Automated support for classifying software failure reports. In ICSE'03, pages 465-475. IEEE CS, 2003.
- M. Rahman, G. Ruhe, T. Zimmermann. Optimized assignment of developers for fixing bugs an initial evaluation for Eclipse projects. In ESEM'09, pages 439-442. IEEE CS, 2009.
- P. Runeson, M. Alexandersson, O. Nyholm. Detection of duplicate defect reports using natural language processing. In ICSE '07, pp. 499-510. IEEE CS, 2007.
- C. Sun, D. Lo, X. Wang, J. Jiang, S.C. Khoo. A discriminative model approach for accurate duplicate bug report retrieval. In ICSE '10, pages 45-54. ACM Press, 2010.
- A. Tamrawi, T. Nguyen, J. Al-Kofahi, and T.N. Nguyen. Fuzzy Set-based Automatic Bug Triaging. In ICSE'11 (NIER). ACM, 2011.
- X. Wang, L. Zhang, T. Xie, J. Anvik, J. Sun. An approach to detecting duplicate bug reports using natural language and execution information. In ICSE'08, pages 461-470. ACM Press, 2008.
- C. Weiss, R. Premraj, T. Zimmermann, A. Zeller. How long will it take to fix this bug? In MSR'07, IEEE CS, 2007.
- Weka: Data mining software in Java. http://www.cs.waikato.ac.nz/ml/weka/.