A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program
Abstract
:1. Introduction
- We propose a novel approach named ABC-DR that considers and integrates multiple factors to recommend suitable developers for bug fixing.
- We propose that the weight of multi-factors changes after each new solution is generated, which could increase the search range. This method can improve the accuracy and efficiency of the parameter training process.
- We evaluated our ABC-DR approach on four open bug repositories (Mozilla, GCC, and NetBeans) and further validated the effectiveness of our proposed method by comparing it with DevRec, Bugzie, and DREX.
2. Related Work and Motivation
2.1. Related Work
2.2. Motivations
3. Method
3.1. Overview
3.1.1. B-Based Analysis Score
- Terms: It is a set of preprocessed data, a collection of bug report descriptions that appear in the summary and description of the bug report. Data preprocessing involves removing words that are not meaningful and reducing the word to the root form, i.e., stemming. Each stem is a feature. Its value is determined by the frequency with which the word appears in the bug report.
- Products: This refers to the affected product in the bug report. Each product is a binary feature [10]. There are only two possible values. If the product is affected by a bug, the eigenvalue is 1, else the eigenvalue is 0.
- Components: This refers to the component affected by the bug in the bug report, either affected or not affected. If the component is affected by a bug, the eigenvalue is 1, else the eigenvalue is 0.
3.1.2. D-Based Analysis Score
- Term Relevance Score: For a bug report and developer , the term relevance score is calculated as follows:
- Topic Relevance Score: For a bug report and developer , the topic relevance score is calculated as follows:Considering a set of topic vector sets T corresponding to all the bug reports, indicates the topic vector associated with developer or the bug report addressed by developer . When t refers to the topics in , for a topic vector v, is the probability that the relevant bug report belongs to topic t. is the probability that a new bug report belongs to the topic t.
- Product and Component Relevance Score: For a bug report and developer , the product relevance score is calculated as follows:The product and component defined here are affected by the developers. When we calculate the relevance score, each bug report has only one product and one component. For a bug report collection B, represents the developer who has previously participated in the resolution of the bug report .For a product p, means that the product p is affected by the bug report , while means that the product p has not been affected by the bug report . is defined as the value of the product p field of bug report .Similarly, for a component c, means that the component c is affected by bug report , while means that the component c has not been affected by the bug report . is defined as the value of the component c field of bug report .
- D-based ScoreWe define the term relevance score, topic relevance score, component relevance score, and product relevance score in the previous section. These scores are combined to obtain the score of the D-based analysis.For a bug report and developer , the D-based score is calculated as follows:
3.2. ABC-DR Score
4. Experiments
4.1. Experimental Setup
Algorithm 1 ABC-DR algorithm to train parameters. |
Input: B, D, NP, L, MC. B: All bug report data collection D: Bug report collection for training NP: Total number of bees L: Maximum unimproved MC: The maximum number of iterations Output: a, b, c, d, e // Output of parameters 1. Initialize initial solutions, each solution is a set of parameter distributions, and the size is a random value. 2. cycle =1; 3. while cycle < MC do: 4. I, l = 0; 5. Hire bee stage: 6. The update is performed for each solution, and the fitness value is calculated, and the fitness value is used as the basis for the selection probability of the next stage. 7. 8. Compare the recall@k of the new solution with the original solution and select the solution with high recall rate. Update unimproved 9. Calculate the probability that the next phase will be selected. 10. Observe the bee stage: 11. While i < NP/2 do: 12. Update the solution according to the probability selection, compare the recall@k, and choose a better solution. 13. I=i+1 14. End while. 15. Scouting Bee Stage: 16. For all i from 1 to NP/2 do: 17. Determine the number of unupdated solutions. If the upper limit L is exceeded, the solution is discarded and a new solution is generated instead. 18. End if. 19. End for. 20. Record the optimal solution. 21. cycle = cycle + 1. 22. End while |
- How much improvement has our proposed ABC-DR method obtained when compared to DevRec, Bugzie, and DREX?
- How does our proposed ABC-DR method compare to B-based components and D-based components?
- How does the contribution of the five parts of the ABC-DR method affect the performance of the ABC method?
4.2. Experiments Results
4.2.1. Our Proposed ABC-DR Method’s Performance
4.2.2. Performance Comparison between Our Proposed ABC-DR Method and B-Based and D-Based Components
4.2.3. The Effect of Fifteen Weight Settings on the Performance of the ABC-DR Method
5. Discussion
Author Contributions
Funding
Conflicts of Interest
References
- Anvik, J.; Hiew, L.; Murphy, G.C. Who should fix this bug? In Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, 20–28 May 2006; pp. 361–370. [Google Scholar]
- Guo, S.; Chen, R.; Wei, M.; Li, H.; Liu, Y. Ensemble data reduction techniques and Multi-RSMOTE via fuzzy integral for bug report classification. IEEE Access 2018, 6, 45934–45950. [Google Scholar] [CrossRef]
- Collofello, J.S.; Woodfield, S.N. Evaluating the effectiveness of reliability-assurance techniques. J. Syst. Softw. 1989, 9, 191–195. [Google Scholar] [CrossRef]
- Gu, Z.; Barr, E.T.; Hamilton, D.J.; Su, Z. Has the bug really been fixed? In Proceedings of the 2010 ACM/IEEE 32nd International Conference on Software Engineering, Cape Town, South Africa, 1–8 May 2010; pp. 55–64. [Google Scholar]
- Anvik, J.; Hiew, L.; Murphy, G.C. Coping with an open bug repository. In Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange, San Diego, CA, USA, 16–17 October 2005; pp. 35–39. [Google Scholar]
- Wu, W.; Zhang, W.; Yang, Y.; Wang, Q. Time series analysis for bug number prediction. In Proceedings of the 2nd International Conference on Software Engineering and Data Mining, Chengdu, China, 23–25 June 2010; pp. 589–596. [Google Scholar]
- Zhang, T.; Yang, G.; Lee, B.; Lua, E. A novel developer ranking algorithm for automatic bug triage using topic model and developer relations. In Proceedings of the 2014 21st Asia-Pacific Software Engineering Conference, Jeju, Korea, 1–4 December 2014; pp. 223–230. [Google Scholar]
- Xuan, J.; Jiang, H.; Zhang, H.; Ren, Z. Developer recommendation on bug commenting: A ranking approach for the developer crowd. Sci. China Inf. Sci. 2017, 60, 072105. [Google Scholar] [CrossRef]
- Yan, G.; Zhang, T.; Lee, B. Utilizing a multi-developer network-based developer recommendation algorithm to fix bugs effectively. In Proceedings of the 29th Annual ACM Symposium on Applied Computing, Gyeongju, Korea, 24–28 March 2014; pp. 1134–1139. [Google Scholar]
- Xia, X.; Lo, D.; Wang, X.; Zhou, B. Accurate developer recommendation for bug resolution. In Proceedings of the 2013 20th Working Conference on Reverse Engineering (WCRE), Koblenz, Germany, 14–17 October 2013; pp. 72–81. [Google Scholar]
- Xia, X.; Lo, D.; Ding, Y.; Al-Kofahi, J.; Nguyen, T. Improving automated bug triaging with specialized topic model. IEEE Trans. Softw. Eng. 2016, 43, 272–297. [Google Scholar] [CrossRef]
- Jiang, H.; Nie, L.; Sun, Z.; Ren, Z.; Kong, W.; Zhang, T.; Luo, X. ROSF: Leveraging Information Retrieval and Supervised Learning for Recommending Code Snippets. IEEE Trans. Serv. Comput. 2019, 12, 34–46. [Google Scholar] [CrossRef]
- Guo, S.; Liu, Y.; Chen, R.; Sun, X.; Wang, X. Improved SMOTE algorithm to deal with imbalanced activity classes in smart homes. Neural Process. Lett. 2018. [Google Scholar] [CrossRef]
- Zhao, H.; Zheng, J.; Xu, J.; Deng, W. Fault diagnosis method based on principal component analysis and broad learning system. IEEE Access 2019, 7, 99263–99272. [Google Scholar] [CrossRef]
- Nigam, K.; McCallum, A.K.; Thrun, S.; Mitchell, T. Text classification from labeled and unlabeled documents using EM. Mach. Learn. 2000, 39, 103–134. [Google Scholar] [CrossRef]
- Zhang, W.; Wang, S.; Wang, Q. KSAP: An approach to bug report assignment using KNN search and heterogeneous proximity. Inf. Softw. Technol. 2016, 70, 68–84. [Google Scholar] [CrossRef]
- Deng, W.; Xu, J.; Zhao, H. An improved ant colony optimization algorithm based on hybrid strategies for scheduling problem. IEEE Access 2019, 7, 20281–20292. [Google Scholar] [CrossRef]
- Deng, W.; Zhao, H.; Zou, L.; Li, G.; Yang, X.; Wu, D. A novel collaborative optimization algorithm in solving complex optimization problems. Soft Comput. 2017, 21, 4387–4398. [Google Scholar] [CrossRef]
- Lim, S.L.; Quercia, D.; Finkelstein, A. StakeNet: Using social networks to analyse the stakeholders of large-scale software projects. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town, South Africa, 1–8 May 2010; pp. 295–304. [Google Scholar]
- Xuan, J.; Jiang, H.; Ren, Z.; Zou, W. Developer prioritization in bug repositories. In Proceedings of the 2012 34th International Conference on Software Engineering (ICSE), Zurich, Switzerland, 2–9 June 2012; pp. 25–35. [Google Scholar]
- Yu, Y.; Wang, H.; Yin, G.; Wang, T. Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? Inf. Softw. Technol. 2016, 74, 204–218. [Google Scholar] [CrossRef]
- Guo, J.; Mu, Y.; Xiong, M.; Liu, Y.; Gu, J. Activity Feature Solving Based on TF-IDF for Activity Recognition in Smart Homes. Complexity 2019, 2019, 5245373. [Google Scholar] [CrossRef]
- Su, J.; Sheng, Z.; Leung, V.C.M.; Chen, Y. Energy efficient tag identification algorithms for RFID: Survey, motivation and new design. IEEE Wirel. Commun. 2019, 26, 118–124. [Google Scholar] [CrossRef]
- Deng, W.; Zhao, H.; Yang, X.; Xiong, J.; Sun, M.; Li, B. Study on an improved adaptive PSO algorithm for solving multi-objective gate assignment. Appl. Soft Comput. 2017, 59, 288–302. [Google Scholar] [CrossRef]
- Su, J.; Sheng, Z.; Xie, L.; Li, G.; Liu, A. Fast splitting-based tag identification algorithm for anti-collision in UHF RFID system. IEEE Trans. Commun. 2018, 67, 2527–2538. [Google Scholar] [CrossRef]
- Treude, C.; Storey, M.A. How tagging helps bridge the gap between social and technical aspects in software development. In Proceedings of the 31st International Conference on Software Engineering, Auckland, New Zealand, 16– 20 November 2009; pp. 12–22. [Google Scholar]
- Lo, D.; Jiang, L.; Thung, F. Detecting similar applications with collaborative tagging. In Proceedings of the 2012 28th IEEE International Conference on Software Maintenance (ICSM), Eindhoven, The Netherlands, 22–28 September 2012; pp. 600–603. [Google Scholar]
- Liu, Y.; Wang, X.; Zhai, Z.; Chen, R.; Zhang, B.; Jiang, Y. Timely daily activity recognition from headmost sensor events. ISA Trans. 2019. [CrossRef] [PubMed]
- Storey, M.A.; van Deursen, A.; Cheng, L. The impact of social media on software engineering practices and tools. In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, Santa Fe, NM, USA, 7–8 November 2010; pp. 359–364. [Google Scholar]
- Shokripour, R.; Anvik, J.; Kasirun, Z.M.; Zammani, S. A time-based approach to automatic bug report assignment. J. Syst. Softw. 2015, 102, 109–122. [Google Scholar] [CrossRef]
- Improving Developer Profiling and Ranking to Enhance Bug Report Assignment. Available online: https://pdfs.semanticscholar.org/4271/186b0496caf5514ee5117552421c6049cd00.pdf (accessed on 20 June 2019).
- Evaluating an Assistant for Creating Bug Report Assignment Recommenders. Available online: http://ceur-ws.org/Vol-1705/04-paper.pdf (accessed on 20 June 2019).
- Jonsson, L.; Borg, M.; Broman, D.; Sandahl, K.; Eldh, S.; Runeson, P. Automated bug assignment: Ensemble-based machine learning in large scale industrial contexts. Empir. Softw. Eng. 2016, 21, 1533–1578. [Google Scholar] [CrossRef]
- Tamrawi, A.; Nguyen, T.; Al-Kofahi, J.M.; Nguyen, T. Fuzzy set and cache-based approach for bug triaging. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, Szeged, Hungary, 5–9 September 2011; pp. 365–375. [Google Scholar]
- Wu, W.; Zhang, W.; Yang, Y.; Wang, Q. Drex: Developer recommendation with k-nearest-neighbor search and expertise ranking. In Proceedings of the 2011 18th Asia-Pacific Software Engineering Conference, Ho Chi Minh City, Vietnam, 5–8 December 2011; pp. 389–396. [Google Scholar]
- Murphy, G.; Cubranic, D. Automatic bug triage using text categorization. In Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering, Banff, AB, Canada, 20–24 June 2004. [Google Scholar]
- Matter, D.; Kuhn, A.; Nierstrasz, O. Assigning bug reports using a vocabulary-based expertise model of developers. In Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories, Vancouver, BC, Canada, 16–17 May 2009; pp. 131–140. [Google Scholar]
- Anvik, J. Automating bug report assignment. In Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, 20–28 May 2006; pp. 937–940. [Google Scholar]
- Zhao, H.; Yao, R.; Xu, L.; Yuan, Y.; Li, G.; Deng, W. Study on a novel fault damage degree identification method using high-order differential mathematical morphology gradient spectrum entropy. Entropy 2018, 20, 682. [Google Scholar] [CrossRef]
- Guo, S.; Chen, R.; Li, H.; Zhang, T.; Liu, Y. Identify Severity Bug Report with Distribution Imbalance by CR-SMOTE and ELM. Int. J. Softw. Eng. Knowl. Eng. 2019, 29, 139–175. [Google Scholar] [CrossRef]
- Chen, R.; Guo, S.; Wang, X.; Zhang, T. Fusion of Multi-RSMOTE with Fuzzy Integral to Classify Bug Reports with an Imbalanced Distribution. IEEE Trans. Fuzzy Syst. 2019. [Google Scholar] [CrossRef]
- Tsoumakas, G.; Katakis, I. Multi-label classification: An overview. Int. J. Data Warehous. Min. 2007, 3, 1–13. [Google Scholar] [CrossRef]
- Blei, D.M.; Ng, A.Y.; Jordan, M.I. Latent dirichlet allocation. J. Mach. Learn. Res. 2003, 3, 993–1022. [Google Scholar]
- Somasundaram, K.; Murphy, G.C. Automatic categorization of bug reports using latent dirichlet allocation. In Proceedings of the 5th India Software Engineering Conference, Kanpur, India, 22–25 February 2012; pp. 125–130. [Google Scholar]
- Xia, X.; Lo, D.; Wang, X.; Zhou, B. Tag recommendation in software information sites. In Proceedings of the 2013 10th Working Conference on Mining Software Repositories (MSR), San Francisco, CA, USA, 18–19 May 2013; pp. 287–296. [Google Scholar]
- Zhang, M.L.; Zhou, Z.H. ML-KNN: A lazy learning approach to multi-label learning. Pattern Recognit. 2007, 40, 2038–2048. [Google Scholar] [CrossRef] [Green Version]
- Bhattacharya, P.; Neamtiu, I. Fine-grained incremental learning and multi-feature tossing graphs to improve bug triaging. In Proceedings of the 2010 IEEE International Conference on Software Maintenance, Timisoara, Romania, 12–18 September 2010; pp. 1–10. [Google Scholar]
- Frakes, B.; Baeza-Yates, R. Information Retrieval: Data Structures & Algorithms; Prentice-Hall, Inc.: Upper Saddle River, NJ, USA, 1992. [Google Scholar]
Category | Numbers of Labels | Projects | Consider Factors | Methods | Ref. |
---|---|---|---|---|---|
Social network metrics | Multi-label | Eclipse, Firefox, Thunderbird | Developers’ relationship, summary, description | Collaborative rankings Functional rankings | [8] |
Multi-label | RALIC | Stakeholders’ relationship and stakeholder roles | Betweenness centrality, Closeness centrality, PageRank, Degree centrality, Prioritised stakeholder roles, Prioritised stakeholders | [19] | |
Multi-label | Eclipse, Mozilla, Jboss | Developers’ relationship, summary, description, component | Leadership network, social network | [9,20] | |
Multi-label | Github | Contributors and reviewers, summary, description | Comment network | [21] | |
Multi-label | AspectJ, BIRT, Eclipse, JDT, SWT, Tomcat | Summary, description | Learning-to-rank technique, feature extraction | [31] | |
Multi-label | Mozilla, Firefox | Summary, description, developers’ relationship | Indegree, Outdegree, Degree, PageRank, Betweenness, ML-KNN and Closeness | [35] | |
Machine learning algorithms | Multi-label | GCC, OpenOffice, Mozilla, NetBeans, Eclipse | Summary, description, product, component | ML-KNN, Estimate weights approach | [10] |
Multi-label | Eclipse, NetBeans, ArgoUML | First commit, Last commit, developers, reported bugs, fixed bugs | Tf-idf | [30] | |
Multi-label | GCC, OpenOffice, Mozilla, NetBeans, Eclipse | Summary, description, product, component, developers | LDA | [11] | |
Multi-label | Project’s issue tracking system (ITS) | Developers’ relationship | Creation Assistant for Easy Assignment (CASEA) tool | [32] | |
Multi-label | Telecom1, Telecom2, Telecom3, Telecom4 | Title, heading, feature development, document updates, and release management | Integrated learner method | [33] | |
Multi-label | Firefox, Eclipse, Apache, NetBeans, FreeDesktop, GCC, Jazz | Summary, description, developers | Fuzzy set and cache-based approach | [34] | |
Multi-label | Eclipse | Summary, description, developers | Text categorization | [36,37,38] |
Project | The Number of Bug Reports | The Number of Assignees | Average Workload Per Assignee (Number) | Average Fixing Time Per Bug (Days) | Period |
---|---|---|---|---|---|
NetBeans | 19,249 | 265 | 72.6 | 442.5 | 11 February 1999–31 December 2014 |
Mozilla | 15,501 | 1022 | 15.2 | 244.9 | 17 March 1999–31 December 2014 |
GCC | 13,301 | 256 | 52 | 292.1 | 03 August 1999–01 December 2014 |
Project | ABC-DR | DevRec | Imp.De | DREX | Imp.DR | Bugzie | Imp.Bu | |
---|---|---|---|---|---|---|---|---|
GCC | recall@5(%) | 41.3 | 39.8 | 3.76 | 41.1 | 0.72 | 38.1 | 8.39 |
recall@10(%) | 51.1 | 49.8 | 2.61 | 51.7 | −1.16 | 57.6 | −11.28 | |
Mozilla | recall@5(%) | 39.6 | 34.7 | 14.12 | 23.8 | 66.38 | 23.4 | 69.23 |
recall@10(%) | 40.3 | 38.1 | 5.77 | 32.3 | 24.76 | 38.4 | 4.94 | |
NetBeans | recall@5(%) | 51.2 | 49.3 | 3.85 | 41.9 | 22.19 | 26.3 | 94.67 |
recall@10(%) | 53.6 | 51.6 | 3.87 | 51 | 5.09 | 44.2 | 21.26 | |
Aver | recall@5(%) | 43.625 | 40.725 | 9.425 | 25.385 | 26.2825 | 26.125 | 81.545 |
recall@5(%) | 48.35 | 45.4 | 6.8025 | 45.4 | 8.1375 | 42.225 | 20.89 |
Project | ABC-DR | DevRec | Imp.De | DREX | Imp.DR | Bugzie | Imp.Bu | |
---|---|---|---|---|---|---|---|---|
GCC | precision@5(%) | 24.9 | 24 | 3.75 | 24.4 | 2.04 | 22.6 | 10.17 |
precision@10(%) | 15.4 | 15 | 2.66 | 15.7 | −1.91 | 17.3 | −10.98 | |
Mozilla | precision@5(%) | 23.3 | 21.9 | 6.39 | 13.6 | 71.32 | 15.3 | 52.28 |
precision@10(%) | 11.9 | 10.4 | 14.42 | 9.84 | 20.93 | 12.7 | -6.29 | |
NetBeans | precision@5(%) | 27.9 | 27 | 3.33 | 23.2 | 20.25 | 15.8 | 76.58 |
precision@10(%) | 14.9 | 14.4 | 3.47 | 14.4 | 3.47 | 13.2 | 12.87 | |
Aver | precision@5(%) | 25.55 | 24.275 | 5.33 | 20.85 | 27.7925 | 16.25 | 67.5 |
precision@10(%) | 14.3 | 13.225 | 8.7625 | 13.635 | 6.305 | 13.175 | 13.3725 |
Project | ABC-DR | B-Based | D-Based | |
---|---|---|---|---|
GCC | recall@5(%) | 41.3 | 36.9 | 25.1 |
recall@10(%) | 51.1 | 47.1 | 44 | |
precision@5(%) | 24.9 | 21.8 | 15.7 | |
precision@10(%) | 15.4 | 14.6 | 12.2 | |
Mozilla | recall@5(%) | 39.6 | 19.7 | 22.3 |
recall@10(%) | 40.3 | 27.4 | 30.7 | |
precision@5(%) | 23.3 | 11.6 | 13.4 | |
precision@10(%) | 11.9 | 8.3 | 9.3 | |
NetBeans | recall@5(%) | 51.2 | 37.1 | 33.1 |
recall@10(%) | 53.6 | 45.9 | 45.3 | |
precision@5(%) | 27.9 | 20.7 | 18.7 | |
precision@10(%) | 14.9 | 12.9 | 12.8 |
Project | GCC | ||||||||
---|---|---|---|---|---|---|---|---|---|
Five-Part Parameter Setting | Evaluation Criterion | ||||||||
ID | recall@5 | precision@5 | recall@10 | precision@10 | |||||
1 | 0.48 | 0.01 | 0.93 | 0.68 | 0.94 | 0.195 | 0.122 | 0.361 | 0.111 |
2 | 0.91 | 0.3 | 0.29 | 0.05 | 0.61 | 0.287 | 0.179 | 0.436 | 0.134 |
3 | 0.94 | 0.12 | 0.48 | 0.16 | 0.88 | 0.224 | 0.144 | 0.392 | 0.121 |
4 | 0.87 | 0.66 | 0.23 | 0.52 | 0.64 | 0.339 | 0.207 | 0.47 | 0.144 |
5 | 0.25 | 0.38 | 0.17 | 0.81 | 0.54 | 0.273 | 0.171 | 0.462 | 0.141 |
6 | 0.81 | 0.71 | 0.64 | 0.35 | 0.33 | 0.374 | 0.226 | 0.502 | 0.154 |
7 | 0.51 | 0.16 | 0.99 | 0.44 | 0.36 | 0.312 | 0.193 | 0.458 | 0.14 |
8 | 0.68 | 0.34 | 0.54 | 0.54 | 0.44 | 0.337 | 0.206 | 0.469 | 0.144 |
9 | 0.77 | 0.24 | 0.47 | 0.86 | 0.74 | 0.269 | 0.169 | 0.439 | 0.134 |
10 | 0.55 | 0.36 | 0.01 | 0.06 | 0.01 | 0.392 | 0.236 | 0.507 | 0.156 |
11 | 0.93 | 0.14 | 0.18 | 0.29 | 0.22 | 0.363 | 0.221 | 0.474 | 0.146 |
12 | 0.12 | 0.25 | 0.95 | 0.15 | 0.92 | 0.157 | 0.117 | 0.361 | 0.112 |
13 | 0.11 | 0.18 | 0.49 | 0.54 | 0.26 | 0.284 | 0.176 | 0.467 | 0.143 |
14 | 0.36 | 0.09 | 0.85 | 0.38 | 0.73 | 0.194 | 0.127 | 0.381 | 0.118 |
15 | 0.29 | 0.46 | 0.81 | 0.96 | 0.69 | 0.264 | 0.165 | 0.457 | 0.139 |
0.4 | 0.08 | 0.06 | 1 | 0.01 | 0.413 | 0.249 | 0.51 | 0.154 |
Project | Mozilla | ||||||||
---|---|---|---|---|---|---|---|---|---|
Five-Part Parameter Setting | Evaluation Criterion | ||||||||
ID | recall@5 | precision@5 | recall@10 | precision@10 | |||||
1 | 0.93 | 0.54 | 0.32 | 0.46 | 0.08 | 0.337 | 0.193 | 0.437 | 0.129 |
2 | 0.96 | 0.37 | 0.22 | 0.45 | 0.5 | 0.246 | 0.147 | 0.313 | 0.095 |
3 | 0.69 | 0.18 | 0.22 | 0.51 | 0.46 | 0.248 | 0.148 | 0.312 | 0.094 |
4 | 0.95 | 0.39 | 0.38 | 0.09 | 0.29 | 0.244 | 0.147 | 0.322 | 0.098 |
5 | 0.88 | 0.09 | 0.55 | 0.37 | 0.59 | 0.196 | 0.121 | 0.272 | 0.083 |
6 | 0.69 | 0.01 | 0.84 | 0.3 | 0.51 | 0.212 | 0.128 | 0.282 | 0.086 |
7 | 0.91 | 0.51 | 0.15 | 0.73 | 0.6 | 0.267 | 0.159 | 0.331 | 0.1 |
8 | 0.14 | 0.17 | 0.08 | 0.59 | 0.86 | 0.105 | 0.071 | 0.175 | 0.055 |
9 | 0.89 | 0.08 | 0.1 | 0.92 | 0.78 | 0.218 | 0.131 | 0.283 | 0.085 |
10 | 0.22 | 0.37 | 0.07 | 0.92 | 0.59 | 0.247 | 0.147 | 0.31 | 0.094 |
11 | 0.85 | 0.02 | 0.51 | 0.1 | 0.06 | 0.294 | 0.17 | 0.419 | 0.123 |
12 | 0.82 | 0.73 | 0.11 | 0.3 | 0.63 | 0.196 | 0.122 | 0.262 | 0.081 |
13 | 0.48 | 0.41 | 0.22 | 0.42 | 0.09 | 0.351 | 0.202 | 0.441 | 0.131 |
14 | 0.6 | 0.35 | 0.99 | 0.34 | 0.19 | 0.349 | 0.202 | 0.445 | 0.133 |
15 | 0.3 | 0.01 | 0.6 | 0.39 | 0.78 | 0.107 | 0.073 | 0.177 | 0.056 |
0.2 | 0.11 | 0.16 | 0.92 | 0.01 | 0.396 | 0.233 | 0.403 | 0.119 |
Project | NetBeans | ||||||||
---|---|---|---|---|---|---|---|---|---|
Five-Part Parameter Setting | Evaluation Criterion | ||||||||
ID | recall@5 | precision@5 | recall@10 | precision@10 | |||||
1 | 0.6 | 0.19 | 0.17 | 0.9 | 0.37 | 0.443 | 0.244 | 0.521 | 0.146 |
2 | 0.77 | 0.32 | 0.35 | 0.58 | 0.31 | 0.442 | 0.245 | 0.529 | 0.149 |
3 | 0.2 | 0.06 | 0.01 | 0.28 | 0.03 | 0.425 | 0.239 | 0.535 | 0.151 |
4 | 0.01 | 0.57 | 0.18 | 0.98 | 0.73 | 0.332 | 0.187 | 0.449 | 0.129 |
5 | 0.88 | 0.19 | 0.87 | 0.62 | 0.09 | 0.434 | 0.242 | 0.539 | 0.153 |
6 | 0.11 | 0.31 | 0.11 | 0.01 | 0.38 | 0.289 | 0.167 | 0.375 | 0.111 |
7 | 0.17 | 0.33 | 0.03 | 0.69 | 0.87 | 0.282 | 0.161 | 0.392 | 0.115 |
8 | 0.76 | 0.6 | 0.31 | 0.13 | 0.1 | 0.427 | 0.239 | 0.533 | 0.151 |
9 | 0.25 | 0.29 | 0.54 | 0.41 | 0.98 | 0.283 | 0.163 | 0.377 | 0.111 |
10 | 0.77 | 0.76 | 0.35 | 0.17 | 0.14 | 0.419 | 0.235 | 0.527 | 0.149 |
11 | 0.19 | 0.89 | 0.38 | 0.27 | 0.51 | 0.341 | 0.196 | 0.459 | 0.132 |
12 | 0.75 | 0.41 | 0.37 | 0.21 | 0.31 | 0.4 | 0.226 | 0.496 | 0.141 |
13 | 0.54 | 0.07 | 0.5 | 0.1 | 0.82 | 0.29 | 0.167 | 0.363 | 0.106 |
14 | 0.37 | 0.19 | 0.96 | 0.84 | 0.44 | 0.432 | 0.238 | 0.512 | 0.143 |
15 | 0.28 | 0.91 | 0.57 | 0.24 | 0.18 | 0.416 | 0.234 | 0.531 | 0.15 |
0.38 | 0.01 | 0.25 | 1 | 0.01 | 0.512 | 0.279 | 0.536 | 0.149 |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Guo, S.; Chen, S.; Wang, S.; Zhang, D.; Liu, Y.; Guo, C.; Li, H.; Li, T. A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program. Appl. Sci. 2019, 9, 3327. https://doi.org/10.3390/app9163327
Guo S, Chen S, Wang S, Zhang D, Liu Y, Guo C, Li H, Li T. A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program. Applied Sciences. 2019; 9(16):3327. https://doi.org/10.3390/app9163327
Chicago/Turabian StyleGuo, Shikai, Shifei Chen, Siwen Wang, Decheng Zhang, Yaqing Liu, Chen Guo, Hui Li, and Tingting Li. 2019. "A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program" Applied Sciences 9, no. 16: 3327. https://doi.org/10.3390/app9163327
APA StyleGuo, S., Chen, S., Wang, S., Zhang, D., Liu, Y., Guo, C., Li, H., & Li, T. (2019). A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program. Applied Sciences, 9(16), 3327. https://doi.org/10.3390/app9163327