An empirical investigation of single-objective and multiobjective evolutionary algorithms for developer's assignment to bugs

Muhammad Rezaul Karim*, Günther Ruhe, Md Mainur Rahman, Vahid Garousi, Thomas Zimmermann

*Corresponding author for this work

Research output: Contribution to journalArticle

9 Citations (Scopus)

Abstract

In this paper, the modeling of developers’ assignment to bugs (DAB) is studied. The problem is modeled both as a single objective (minimize bug fix time) and as a bi-objective (minimize bug fix time and cost) combinatorial optimization problem. Two models of developer assignment are considered where in the first model a single developer is assigned per bug (single developer model), while in the second model a single developer is assigned for each competency area of a bug (individual competency model). The latter model is proposed in this paper. For the single developer model, GA@DAB, an existing genetic algorithm-based approach, is extended to support precedence among bugs. For the individual competency model of DAB, one genetic algorithm-based approach (Competence@DAB) and one nondominated sorting genetic algorithm II-based approach (CompetenceMulti2@DAB) are proposed to generate solutions minimizing time and minimizing both time and cost, respectively. The performance of the proposed approaches was evaluated for 2040 bugs of 19 open-source milestone projects from the Eclipse platform. Our results and analysis show that the proposed individual competency model is far better than the single developer model, with average bug fix time reduction of 39.7% across all projects.

Original languageEnglish
Pages (from-to)1025-1060
Number of pages36
JournalJournal of Software: Evolution and Process
Volume28
Issue number12
DOIs
Publication statusPublished - 13 Apr 2016
Externally publishedYes

Keywords

  • developer's assignment to bugs
  • genetic algorithm
  • multiobjective optimization
  • Pareto optimal

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'An empirical investigation of single-objective and multiobjective evolutionary algorithms for developer's assignment to bugs'. Together they form a unique fingerprint.

  • Cite this