›› 2012,Vol. ›› Issue (2): 397-412.doi: 10.1007/s11390-012-1230-3

• • 上一篇    下一篇


Jaweria Kanwal and Onaiza Maqbool   

  • 收稿日期:2011-04-27 修回日期:2012-01-12 出版日期:2012-03-05 发布日期:2012-03-05

Bug Prioritization to Facilitate Bug Report Triage

Jaweria Kanwal and Onaiza Maqbool   

  1. Department of Computer Science, Quaid-i-Azam University, Islamabad, Pakistan
  • Received:2011-04-27 Revised:2012-01-12 Online:2012-03-05 Published:2012-03-05

软件系统缺陷库中大量新增缺陷报告的管理是一项具有挑战性的任务。手工处理这些报告费时且可能导致重要缺陷不能得到及时处理。针对该问题,人们开发出推荐工具,以自动给新缺陷报告进行优先级排序。本文提出并评价了一种基于分类的推荐工具开发方法。使用Naïve Bayes和支持向量机(Support Vector Machine,SVM),并针对准确性对多个分类器进行比较。由于一个缺陷报告包含分类和文本特征,我们进行的另外一项评价是根据组合特征能否更好地判定缺陷的优先级。为评价缺陷优先级推荐工具,我们使用了precision 和recall,并提出两种新的评价指标:Nearest False Negatives (NFN),Nearest False Positives (NFP)。我们发现使用文本特征时,SVM的结果优于Naïve Bayes算法,而对于分类特征,则相反;如果将文本和分类特征相组合,使用SVM进行分类,则性能最优。

Abstract: The large number of new bug reports received in bug repositories of software systems makes their management a challenging task. Handling these reports manually is time consuming, and often results in delaying the resolution of important bugs. To address this issue, a recommender may be developed which automatically prioritizes the new bug reports. In this paper, we propose and evaluate a classification based approach to build such a recommender. We use the Naïve Bayes and Support Vector Machine (SVM) classifiers, and present a comparison to evaluate which classifier performs better in terms of accuracy. Since a bug report contains both categorical and text features, another evaluation we perform is to determine the combination of features that better determines the priority of a bug. To evaluate the bug priority recommender, we use precision and recall measures and also propose two new measures, Nearest False Negatives (NFN) and Nearest False Positives (NFP), which provide insight into the results produced by precision and recall. Our findings are that the results of SVM are better than the Naïve Bayes algorithm for text features, whereas for categorical features, Naïve Bayes performance is better than SVM. The highest accuracy is achieved with SVM when categorical and text features are combined for training.

[1] Canfora G, Cerulo L. Supporting change request assignmentin open source development. In Proc. ACM Symposium onApplied Computing, Dijon, France, April 2006, pp.1767-1772.

[2] Anvik J. Assisting bug report triage through recommendation [PhD Thesis]. University of British Columbia, 2007.

[3] Cubranic D, Murphy C. Automatic bug triage using text cate-gorization. In Proc. Software Engineering and KnowledgeEngineering, Banff, Canada, June, 2004, pp.92-97.

[4] Mozilla. http://www.mozilla.org, 2010.

[5] Anvik J, Murphy G C. Determining implementation expertisefrom bug reports. In Proc. the 4th MSR, Minneapolis, USA,May 2007, Article No.2.

[6] Tucek J, Lu S, Huang C, Xanthos S, Zhou Y. Triage: Diagnos-ing production run failures at the user's site. ACM SIGOPSOperating Systems Review, 2007, 41(6): 131-144.

[7] Herraiz I, German D M, Gonzalez-Barahona J M, Robles G.Towards a simplification of the bug report form in eclipse. InProc. International Working Conference on Mining SoftwareRepositories, Leipzig, Germany, May 2008, pp.145-148.

[8] Anvik J. Automating bug report assignment. In Proc.the 28th International Conference on Software Engineering,Shanghai, China, May 2006, pp.937-940.

[9] Weib C, Premraj R, Zimmermann T, Zeller A. Predicting ef-fort to fix software bugs. In Proc. Workshop on SoftwareReengineering, Bad Honnef, Germany, May 2007.

[10] Kim S, Whitehead J. How long did it take to fix bugs? InProc. International Workshop on Mining Software Reposito-ries, Shanghai, China, May 2006, pp.173-174.

[11] Lamkanfi A, Demeyer S, Gigery E, Goethals B. Predicting theseverity of a reported bug. In Proc. the 7th Working Con-ference on Mining Software Repositories, Cape Town, SouthAfrica, May 2010, pp.1-10.

[12] Yu L, Tsai W, Zhao W,Wu F. Predicting defect priority basedon neural networks. In Proc. the 6th Int. Conf. AdvancedData Mining and Applications, Wuhan, China, November2010, pp.356-367.

[13] Kanwal J, Maqbool O. Managing open bug repositoriesthrough bug report prioritization using SVMs. In Proc. In-ternational Conference on Open-Source Systems and Tech-nologies, Lahore, Pakistan, December 2010.

[14] Kim S, Ernst M D. Prioritizing warning categories by analyz-ing software history. In Proc. the 4th International Work-shop on Mining Software Repositories, Minneapolis, USA,May 2007, Article No. 27.

[15] Kim S, Ernst M D. Which warnings should I fix first? InProc. the 6th ESEC-FSE, Dubrovnik, Croatia, September2007, pp.45-54.

[16] Kremenek T, Engler D. Z-Ranking: Using statistical analysisto counter the impact of static analysis approximations. InProc. the 10th International Conference on Static Analysis,June 2003, pp.295-315.

[17] Anvik J, Hiew L, Murphy G C. Who should fix this bug? InProc. the 28th International Conference on Software Engi-neering, Shanghai, China, May 2006, pp.361-370.

[18] Anvik J, Murphy G C. Reducing the effort of bug reporttriage: Recommenders for development-oriented decisions.ACM Transactions on Software Engineering and Methodo-logy, 2011, 20(3): Article No.10.

[19] Aljarah I, Banitaan S, Abufardeh S, Jin W, Salem S. Selectingdiscriminating terms for bug assignment: A formal analysis.In Proc. the 7th International Conference on Predictive Mod-els in Software Engineering, Banff, Canada, September 2011,Article No.12.

[20] Ahsan S N, Ferzund J, Wotawa F. Automatic software bugtriage system (BTS) based on Latent Semantic Indexing andSupport Vector Machine. In Proc. the 4th InternationalConference on Software Engineering Advances, Washington,USA, September 2009, pp.216-221.

[21] Jeong G, Kim S, Zimmermann T. Improving bug triage withbug tossing graphs. In Proc. the 7th ESEC-FSE, Amsterdam,Netherlands, August 2009, pp.111-120.

[22] Tamrawi A, Nguyen T, Al-Kofahi J, Nguyen T N. Fuzzy set-based automatic bug triaging. In Proc. the 33rd Interna-tional Conference on Software Engineering (NIER Track),Miami, USA, May 2011, pp.884-887.

[23] Lamkanfi A, Demeyer S, Soetens Q D, Verdonck T. Com-paring mining algorithms for predicting the severity of a re-ported bug. In Proc. the 15th European Conference on Soft-ware Maintenance and Reengineering, Oldenburg, Germany,March 2011, pp.249-258.

[24] Ling C, Huang J, Zhang H. Auc: A better measure than ac-curacy in comparing learning algorithms. In Lecture Notesin Computer Science 2671, Xiang Y, Chaib-Draa B (eds.),Springer-Verlag, 2003, pp.329-341.

[25] Gegick M, Rotella P, Xie T. Identifying security bug reportsvia text mining: An industrial case study. In Proc. the 7thWorking Conference on Mining Software Repositories, CapeTown, South Africa, May 2010, pp.11-20.

[26] Zaman S, Adams B, Hassan A E. Security versus performancebugs: A case study on Firefox. In Proc. the 8th WorkingConference on Mining Software Repositories, Hawaii, USA,May 2011, pp.93-102.

[27] Runeson P, Elexandersson M, Nyholm O. Detection of du-plicate defect reports using natural language processing. InProc. the 29th International Conference on Software Engi-neering, Minneapolis, USA, May 2007, pp.499-510.

[28] Wang X, Zhang L, Xie T, Anvik J, Sun J. An approach to de-tecting duplicate bug reports using natural language and exe-cution information. In Proc. the 30th International Confe-rence on Software Engineering, Leipzig, Germany, May 2008,pp.461-470.

[29] Canfora G, Cerulo L. Impact analysis by mining software andchange request repositories. In Proc. the 11th InternationalSoftware Metrics Symposium, Como, Italy, September 2005,Article No.29.

[30] Prifti T, Banerjee S, Cukic B. Detecting bug duplicate reportsthrough local references. In Proc. the 7th International Con-ference on Predictive Models in Software Engineering, Banff,Canada, September 2011, Article No.8.

[31] Wu L, Xie B, Kaiser G, Passonneau R. BugMiner: Softwarereliability analysis via data mining of bug reports. In Proc.the 25th International Conference on Software Engineeringand Knowledge Engineering, Miami, USA, July 2011, pp.95-100.

[32] Marks L, Zou Y, Hassan A E. Studying the fix-time for bugsin large open source projects. In Proc. the 7th InternationalConference on Predictive Models in Software Engineering,Banff, Canada, September 2011, Article No.11.

[33] Gyimothy T, Ferenc R, Siket I. Empirical validation of object-oriented metrics on open source software for fault prediction.IEEE Transactions on Software Engineering, 2005, 31(10):897-910.

[34] Zimmermann T, Premraj R, Zeller A. Predicting defects forEclipse. In Proc. International Workshop on Predictor Mod-els in Software Engineering, Minneapolis, USA, May 2007,Article No.9.

[35] Bugzilla. http://www.bugzilla.org, 2010.

[36] Han J, Kamber M. Data Mining: Concepts and Techniques.2nd edition, Morgan Kaufmann, 2006.

[37] Joachims, T. Text categorization with support vector ma-chines: Learning with many relevant features. In Proc. Euro-pean Conference on Machine Learning, Chemnitz, Germany,April 1998, pp.137-142.

[38] Kantardzic M. Data Mining: Concepts, Models, Methods,and Algorithms. New York, USA: Wiley-Interscience, 2003.

[39] Witten H I, Frank E. Data Mining: Practical Machine Learn-ing Tools and Techniques with Java Implementations. NewYork, USA: Morgan Kaufmann, 2000.

[40] Noble W S. What is a support vector machine? NatureBiotechnology, 2006, 24: 1565-1567.

[41] Vapnik V N. Statistical Learning Theory. New York, USA:Wiley-Interscience, 1998.

[42] Sebastiani F. Machine learning in automated text categoriza-tion. ACM Computing Surveys, 2002, 34(1): 1-47.

[43] Eclipse. http://www.eclipse.org, 2010.

[44] Panjer L D. Predicting Eclipse bug lifetimes. In Proc. the4th International Workshop on Mining Software Reposito-ries, Minneapolis, USA, May 2007, pp.1-8.

[45] Baeza-Yates R, Ribeiro-Neto B. Modern Information Re-trieval. Boston, USA: Addison-Wesley Longman, 1999.

[46] GNATS. http://www.gnu.org/software/gnats, 2010.

[47] JIRA. http://www.atlassian.com/software/jira, 2010.
No related articles found!
Full text



[1] 刘明业; 洪恩宇;. Some Covering Problems and Their Solutions in Automatic Logic Synthesis Systems[J]. , 1986, 1(2): 83 -92 .
[2] 陈世华;. On the Structure of (Weak) Inverses of an (Weakly) Invertible Finite Automaton[J]. , 1986, 1(3): 92 -100 .
[3] 高庆狮; 张祥; 杨树范; 陈树清;. Vector Computer 757[J]. , 1986, 1(3): 1 -14 .
[4] 陈肇雄; 高庆狮;. A Substitution Based Model for the Implementation of PROLOG——The Design and Implementation of LPROLOG[J]. , 1986, 1(4): 17 -26 .
[5] 黄河燕;. A Parallel Implementation Model of HPARLOG[J]. , 1986, 1(4): 27 -38 .
[6] 闵应骅; 韩智德;. A Built-in Test Pattern Generator[J]. , 1986, 1(4): 62 -74 .
[7] 唐同诰; 招兆铿;. Stack Method in Program Semantics[J]. , 1987, 2(1): 51 -63 .
[8] 闵应骅;. Easy Test Generation PLAs[J]. , 1987, 2(1): 72 -80 .
[9] 朱鸿;. Some Mathematical Properties of the Functional Programming Language FP[J]. , 1987, 2(3): 202 -216 .
[10] 李明慧;. CAD System of Microprogrammed Digital Systems[J]. , 1987, 2(3): 226 -235 .
版权所有 © 《计算机科学技术学报》编辑部
本系统由北京玛格泰克科技发展有限公司设计开发 技术支持:support@magtech.com.cn