Automatic Bug Triaging via Deep Reinforcement Learning
Source abstract
Abstract
Software maintenance and evolution account for approximately 90% of the software development process (e.g., implementation, testing, and maintenance). Bug triaging refers to an activity where developers diagnose, fix, test, and document bug reports during software development and maintenance to improve the speed of bug repair and project progress. However, the large number of bug reports submitted daily increases the triaging workload, and open-source software has a long maintenance cycle. Meanwhile, the developer activity is not stable and changes significantly during software development. Hence, we propose a novel bug triaging model known as auto bug triaging via deep reinforcement learning (BT-RL), which comprises two models: a deep multi-semantic feature (DMSF) fusion model and an online dynamic matching (ODM) model. In the DMSF model, we extract relevant information from bug reports to obtain high-quality feature representation. In the ODM model, through bug report analysis and developer activities, we use a strategy based on the reinforcement learning framework, through which we perform training while learning and recommend developers for bug reports. Extensive experiments on open-source datasets show that the BT-RL method outperforms state-of-the-art methods in bug triaging.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Software Engineering Research · Software Reliability and Analysis Research · Advanced Malware Detection Techniques
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
Information Science and Technology College, Dalian Maritime University, Dalian 116026, China
School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Funding
National Natural Science Foundation of China · the Fundamental Research Funds for the Central Universities · Natural Science Foundation of Liaoning Province
References (37)
Show source-provided references
1. (2022, February 25). Defect Statistics. Apache OpenOffice. Available online: https://www.openoffice.org/stats/defects.html.
2. An enhanced fast non-dominated solution sorting genetic algorithm for multi-objective problems10.1016/j.ins.2021.11.052 ↗
3. Ran, X., Zhou, X., Lei, M., Tepsan, W., and Deng, W. (2021). A novel k-means clustering algorithm with a noise algorithm for capturing urban hotspots. Appl. Sci., 11.10.3390/app112311202 ↗
4. Li, G., Li, Y., Chen, H., and Deng, W. (2022). Fractional-Order Controller for Course-Keeping of Underactuated Surface Vessels Based on Frequency Domain Specification and Improved Particle Swarm Optimization Algorithm. Appl. Sci., 12.10.3390/app12063139 ↗
5. Custom-molded offloading footwear effectively prevents recurrence and amputation, and lowers mortality rates in high-risk diabetic foot patients: A multicenter, prospective observational study10.2147/DMSO.S341364 ↗
6. Rolling element fault diagnosis based on VMD and sensitivity MCKD10.1109/ACCESS.2021.3108972 ↗
7. Compound fault diagnosis using optimized MCKD and sparse representation for rolling bearings10.1109/TIM.2022.3159005 ↗
8. Anvik, J., Hiew, L., and Murphy, G.C. (2005, January 16–17). Coping with an open bug repository. Proceedings of the 2005 OOPSLA Workshop on Eclipse Technology eXchange, San Diego, CA, USA.10.1145/1117696.1117704 ↗
9. Gu, Z., Barr, E.T., Hamilton, D.J., and Su, Z. (2010, January 2–8). Has the bug really been fixed?. Proceedings of the 32th ACM/IEEE International Conference on Software Engineering, Cape Town, South Africa.10.1145/1806799.1806812 ↗
10. Evaluating the effectiveness of reliability-assurance techniques10.1016/0164-1212(89)90039-3 ↗
11. Wu, W., Zhang, W., Yang, Y., and Wang, Q. (2010, January 23–25). Time series analysis for bug number prediction. Proceedings of the 2th International Software Engineering and Data Mining, Chengdu, China.
12. Kawakami, K. (2008). Supervised Sequence Labelling with Recurrent Neural Networks. [Ph.D. Thesis, Technical University of Munich].
13. Tamrawi, A., Nguyen, T.T., Al-Kofahi, J.M., and Nguyen, T.N. (2011, January 5–9). Fuzzy set and cache-based approach for bug triaging. Proceedings of the 19th ACM and the 13th on Foundations of Software Engineering, Szeged, Hungary.10.1145/2025113.2025163 ↗
14. Naguib, H., Narayan, N., Brgge, B., and Helal, D. (2013, January 18–19). Bug report assignee recommendation using activity profiles. Proceedings of the 10th Mining Software Repositories, San Francisco, CA, USA.10.1109/MSR.2013.6623999 ↗
15. Text classfication from labeled and unlabeled documents using EM10.1023/A:1007692713085 ↗
16. KSAP: An approach to bug report triaging using KNN search and heterogeneous proximity10.1016/j.infsof.2015.10.004 ↗
17. Anvik, J., Lyndon, H., and Murphy, G.C. (2006, January 20–28). Who should fix this bug?. Proceedings of the 28th International Software Engineering, Shanghai, China.10.1145/1134285.1134336 ↗
18. Syed, N.A., Javed, F., and Franz, W. (2009, January 20–25). Automatic Software Bug Triaging System (BTS) Based on Latent Semantic Indexing and Support Vector Machine. Proceedings of the 2009 Fourth International Conference on Software Engineering Advances, Porto, Portugal.
19. Xuan, J., Jiang, H., Ren, Z., Yan, J., and Luo, Z. (2010, January 1–3). Automatic Bug Triaging using Semi-Supervised Text Classification. Proceedings of the 22nd International Conference on Software Engineering and Knowledge Engineering (SEKE 2010), Redwood City, San Francisco Bay, CA, USA.
20. Yang, G., Zhang, T., and Lee, B. (2014, January 21–25). Towards semi-automatic bug triaging and severity prediction based on topic model and mul-ti-feature of bug reports. Proceedings of the 38th Annual Computer Software and Applications Conference, Vasteras, Sweden.10.1109/COMPSAC.2014.16 ↗
21. Wu, W., Zhang, W., Yang, Y., and Wang, Q. (2011, January 5–8). Drex: Developer recommendation with k-nearest neighbor search and expertise ranking. Proceedings of the 18th Asia-Pacific Software Engineering Conference, Ho Chi Minh City, Vietnam.10.1109/APSEC.2011.15 ↗
22. Davor, C., and Murphy, G.C. (2004, January 20–24). Automatic bug triaging using text categorization. Proceedings of the Sixteenth International Conference on Software Engineering & Knowledge Engineering, Banff, AB, Canada.
23. Xie, X., Zhang, W., Yang, Y., and Wang, Q. (2012, January 21–22). DRETOM: Developer recommendation based on topic models for bug resolution. Proceedings of the 8th International Conference on Predictive Models in Software Engineering, Lund, Sweden.10.1145/2365324.2365329 ↗
24. Topic-based, time-aware bug assignment10.1145/2557833.2560585 ↗
25. Zhang, T., Yang, G., Lee, B., and Lua, E.K. (2014, January 1–4). A novel developer ranking algorithm for automatic bug triaging using topic model and de-veloper relations. Proceedings of the 21st Asia-Pacific Software Engineering Conference, Jeju, Korea.10.1109/APSEC.2014.43 ↗
26. A component recommender for bug reports using discrim-inative probability latent semantic analysis10.1016/j.infsof.2016.01.005 ↗
27. Developer recommendation on bug commenting: A ranking approach for the developer crowd10.1007/s11432-015-0582-8 ↗
28. Somasundaram, K., and Murphy, G.C. (2012, January 22–25). Automatic categorization of bug reports using latent dirichlet allocation. Proceedings of the 5th India Software Engineering Conference, Kanpur, India.10.1145/2134254.2134276 ↗
29. Rapid and Efficient Bug Triaging Using ELM for IOT Software10.1109/ACCESS.2018.2869306 ↗
30. Khatun, A., and Sakib, K. (2018, January 23–24). A Bug Triaging Approach Combining Expertise and Recency of Both Bug Fixing and Source Commits. Proceedings of the 13th International Conference on Evaluation of Novel Approaches to Software Engineering, Funchal, Portugal.10.5220/0006785303510358 ↗
31. A novel and improved developer rank algorithm for bug assignment
32. Jahanshahi, H., Chhabra, K., Cevik, M., and Basar, A. (2021). DABT: A Dependency-aware Bug Triaging Method. Evaluation and Assessment in Software Engineering, ACM.10.1145/3463274.3463342 ↗
33. Su, Y., Xing, Z., Peng, X., Xia, X., Wang, C., Xu, X., and Zhu, L. (2021, January 15–19). Reducing Bug Triaging Confusion by Learning from Mistakes with a Bug Tossing Knowledge Graph. Proceedings of the 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), Melbourne, Australia.10.1109/ASE51524.2021.9678574 ↗
34. A Spatial-Temporal Graph Neural Network Framework for Automated Software Bug Triaging10.1016/j.knosys.2022.108308 ↗
35. Developer activity motivated bug triaging: Via convolutional neural network10.1007/s11063-020-10213-y ↗
36. A Release-Aware Bug Triaging Method Considering Developers’ Bug-Fixing Loads10.1587/transinf.2019EDP7152 ↗
37. Mani, S., Sankaran, A., and Aralikatte, R. (2019, January 3–5). Deeptriaging: Exploring the effectiveness of deep learning for bug triaging. Proceedings of the ACM India Joint International Conference on Data Science and Management of Data, Kolkata, India.10.1145/3297001.3297023 ↗