A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program
In a software tracking system, the bug assignment problem refers to the activities that developers perform during software maintenance to fix bugs. As many bugs are submitted on a daily basis, the number of developers required is quite large, and it therefore becomes difficult to assign the right de...
Main Authors: | , , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2019-08-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/9/16/3327 |
id |
doaj-729840ad16cd4975be0a0a60c9e3fe97 |
---|---|
record_format |
Article |
spelling |
doaj-729840ad16cd4975be0a0a60c9e3fe972020-11-25T02:30:14ZengMDPI AGApplied Sciences2076-34172019-08-01916332710.3390/app9163327app9163327A Multi-Factor Approach for Selection of Developers to Fix Bugs in a ProgramShikai Guo0Shifei Chen1Siwen Wang2Decheng Zhang3Yaqing Liu4Chen Guo5Hui Li6Tingting Li7The College of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaSichuan University-Pittsburgh Institute, Chengdu 610207, ChinaThe College of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaThe College of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaThe College of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaThe School of Marine Electrical Engineering, Dalian Maritime University, Dalian 116026, ChinaThe College of Information Science and Technology, Dalian Maritime University, Dalian 116026, ChinaKey Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education, Jilin University, Changchun 130012, ChinaIn a software tracking system, the bug assignment problem refers to the activities that developers perform during software maintenance to fix bugs. As many bugs are submitted on a daily basis, the number of developers required is quite large, and it therefore becomes difficult to assign the right developers to resolve issues with specific bugs. Inappropriate dispatches results in delayed processing of bug reports. In this paper, we propose an algorithm called ABC-DR to solve the bug assignment problem. The ABC-DR algorithm is a two-part composite approach that includes analysis between bug reports (i.e., B-based analysis) and analysis between developers and bug reports (i.e., D-based analysis). For analysis between bug reports, we use the multi-label k-nearest neighbor (ML-KNN) algorithm to find similar bug reports when compared with the new bug reports, and the developers who analyze similar bug reports recommend developers for the new bug report. For analysis between developers and bug reports, we find developer rankings similar to the new bug report by calculating the relevance scores between developers and similar bug reports. We use the artificial bee colony (ABC) algorithm to calculate the weight of each part. We evaluated the proposed algorithms on three datasets—GCC, Mozilla, and NetBeans—comparing ABC-DR with DevRec, DREX, and Bugzie. The experimental results show that the proposed ABC-DR algorithm achieves the highest improvement of 51.2% and 53.56% over DevRec for recall@5 and recall@10 in the NetBeans dataset.https://www.mdpi.com/2076-3417/9/16/3327developer recommendationcomposite methodML-KNN algorithmrelevance score |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Shikai Guo Shifei Chen Siwen Wang Decheng Zhang Yaqing Liu Chen Guo Hui Li Tingting Li |
spellingShingle |
Shikai Guo Shifei Chen Siwen Wang Decheng Zhang Yaqing Liu Chen Guo Hui Li Tingting Li A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program Applied Sciences developer recommendation composite method ML-KNN algorithm relevance score |
author_facet |
Shikai Guo Shifei Chen Siwen Wang Decheng Zhang Yaqing Liu Chen Guo Hui Li Tingting Li |
author_sort |
Shikai Guo |
title |
A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program |
title_short |
A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program |
title_full |
A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program |
title_fullStr |
A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program |
title_full_unstemmed |
A Multi-Factor Approach for Selection of Developers to Fix Bugs in a Program |
title_sort |
multi-factor approach for selection of developers to fix bugs in a program |
publisher |
MDPI AG |
series |
Applied Sciences |
issn |
2076-3417 |
publishDate |
2019-08-01 |
description |
In a software tracking system, the bug assignment problem refers to the activities that developers perform during software maintenance to fix bugs. As many bugs are submitted on a daily basis, the number of developers required is quite large, and it therefore becomes difficult to assign the right developers to resolve issues with specific bugs. Inappropriate dispatches results in delayed processing of bug reports. In this paper, we propose an algorithm called ABC-DR to solve the bug assignment problem. The ABC-DR algorithm is a two-part composite approach that includes analysis between bug reports (i.e., B-based analysis) and analysis between developers and bug reports (i.e., D-based analysis). For analysis between bug reports, we use the multi-label k-nearest neighbor (ML-KNN) algorithm to find similar bug reports when compared with the new bug reports, and the developers who analyze similar bug reports recommend developers for the new bug report. For analysis between developers and bug reports, we find developer rankings similar to the new bug report by calculating the relevance scores between developers and similar bug reports. We use the artificial bee colony (ABC) algorithm to calculate the weight of each part. We evaluated the proposed algorithms on three datasets—GCC, Mozilla, and NetBeans—comparing ABC-DR with DevRec, DREX, and Bugzie. The experimental results show that the proposed ABC-DR algorithm achieves the highest improvement of 51.2% and 53.56% over DevRec for recall@5 and recall@10 in the NetBeans dataset. |
topic |
developer recommendation composite method ML-KNN algorithm relevance score |
url |
https://www.mdpi.com/2076-3417/9/16/3327 |
work_keys_str_mv |
AT shikaiguo amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT shifeichen amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT siwenwang amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT dechengzhang amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT yaqingliu amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT chenguo amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT huili amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT tingtingli amultifactorapproachforselectionofdeveloperstofixbugsinaprogram AT shikaiguo multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT shifeichen multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT siwenwang multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT dechengzhang multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT yaqingliu multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT chenguo multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT huili multifactorapproachforselectionofdeveloperstofixbugsinaprogram AT tingtingli multifactorapproachforselectionofdeveloperstofixbugsinaprogram |
_version_ |
1724829202748801024 |