A Multi-objective Optimizer to Retrieve Issue Reports Based on Developer Experience and Business Value

Name
Sander Jenk
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.
Graduation Thesis language
English
Graduation Thesis type
Master - Software Engineering
Supervisor(s)
Ezequiel Scott
Defence year
2022
 
PDF