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...

Full description

Bibliographic Details
Main Authors: Shikai Guo, Shifei Chen, Siwen Wang, Decheng Zhang, Yaqing Liu, Chen Guo, Hui Li, Tingting Li
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