A multi-objective optimizer to retrieve issue reports based on developer experience and business value
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
In Agile Software Development, software gets delivered in short iterations. Selecting
work for an iteration is complex for multiple reasons. When planning the iteration,
developers need to consider their experience, preferences, and work capacity while
maximizing the business value. To do this, developers have to understand the content of
the issue reports, which is time-consuming because the backlogs can contain thousands
of issues. With these things in mind, an automatic multi-objective approach is proposed
in this thesis that retrieves issues from the backlog for a developer based on their work
capacity and optimizes for the business value of the issue, developer’s previous experience
with similar issues, and the novelty of the issue. The approach uses LDA to extract topics
from the issues. These topics are used to define the developer experience and novelty.
NSGA-II is used as the optimization algorithm to extract the set of issues that satisfy the
3 objectives. The approach is evaluated using the data of 15 open-source projects and 1
closed-source project. The evaluation includes an analysis of execution times and the
quality of the solutions based on Hypervolume. In addition, a survey with developers
is conducted to better understand their opinion and the quality of the solutions. The
results show that you can get optimal solutions in less than 4 seconds on average, which
is considerably better than the time developers take to manually select issue reports
under the same conditions. The answers from the survey show positive results since
the approach optimizes for the 3 selected objectives. For these reasons, the tool will be
beneficial in the sprint planning process of software projects.
Description
Keywords
Multi-objective optimization, natural language processing, Agile Software Development