TY - THES
T1 - From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution
AU - Borg, Markus
N1 - Defence details
Date: 2015-05-08
Time: 14:15
Place: Lecture hall 1406, building E, Ole Römers väg 3, Lund University, Faculty of Engineering LTH, Lund
External reviewer(s)
Name: Demeyer, Serge
Title: Professor
Affiliation: University of Antwerp, Belgium
---
PY - 2015
Y1 - 2015
N2 - Software developers in large projects work in complex information landscapes and staying on top of all relevant software artifacts is an acknowledged challenge. As software systems often evolve over many years, a large number of issue reports is typically managed during the lifetime of a system, representing the units of work needed for its improvement, e.g., defects to fix, requested features, or missing
documentation. Efficient management of incoming issue reports requires the successful navigation of the information landscape of a project.
In this thesis, we address two tasks involved in issue management: Issue Assignment (IA) and Change Impact Analysis (CIA). IA is the early task of allocating an issue report to a development team, and CIA is the subsequent activity of identifying how source code changes affect the existing software artifacts. While IA is fundamental in all large software projects, CIA is particularly important to
safety-critical development.
Our solution approach, grounded on surveys of industry practice as well as scientific literature, is to support navigation by combining information retrieval and machine learning into Recommendation Systems for Software Engineering (RSSE). While the sheer number of incoming issue reports might challenge the overview of a human developer, our techniques instead benefit from the availability
of ever-growing training data. We leverage the volume of issue reports to develop accurate decision support for software evolution.
We evaluate our proposals both by deploying an RSSE in two development
teams, and by simulation scenarios, i.e., we assess the correctness of the RSSEs' output when replaying the historical inflow of issue reports. In total, more than 60,000 historical issue reports are involved in our studies, originating from the evolution of five proprietary systems for two companies. Our results show that
RSSEs for both IA and CIA can help developers navigate large software projects, in terms of locating development teams and software artifacts. Finally, we discuss how to support the transfer of our results to industry, focusing on addressing the context dependency of our tool support by systematically tuning parameters to a specific operational setting.
AB - Software developers in large projects work in complex information landscapes and staying on top of all relevant software artifacts is an acknowledged challenge. As software systems often evolve over many years, a large number of issue reports is typically managed during the lifetime of a system, representing the units of work needed for its improvement, e.g., defects to fix, requested features, or missing
documentation. Efficient management of incoming issue reports requires the successful navigation of the information landscape of a project.
In this thesis, we address two tasks involved in issue management: Issue Assignment (IA) and Change Impact Analysis (CIA). IA is the early task of allocating an issue report to a development team, and CIA is the subsequent activity of identifying how source code changes affect the existing software artifacts. While IA is fundamental in all large software projects, CIA is particularly important to
safety-critical development.
Our solution approach, grounded on surveys of industry practice as well as scientific literature, is to support navigation by combining information retrieval and machine learning into Recommendation Systems for Software Engineering (RSSE). While the sheer number of incoming issue reports might challenge the overview of a human developer, our techniques instead benefit from the availability
of ever-growing training data. We leverage the volume of issue reports to develop accurate decision support for software evolution.
We evaluate our proposals both by deploying an RSSE in two development
teams, and by simulation scenarios, i.e., we assess the correctness of the RSSEs' output when replaying the historical inflow of issue reports. In total, more than 60,000 historical issue reports are involved in our studies, originating from the evolution of five proprietary systems for two companies. Our results show that
RSSEs for both IA and CIA can help developers navigate large software projects, in terms of locating development teams and software artifacts. Finally, we discuss how to support the transfer of our results to industry, focusing on addressing the context dependency of our tool support by systematically tuning parameters to a specific operational setting.
KW - empirical software engineering
KW - issue management
KW - mining software repositories
KW - machine learning
KW - information retrieval
KW - software traceability
KW - change impact analysis
M3 - Doctoral Thesis (compilation)
SN - 978-91-7623-305-4
T3 - Dissertation / Department of Computer Science, Lund University
ER -