Advanced

From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution

Borg, Markus LU (2015) In Dissertation / Department of Computer Science, Lund University 46.
Abstract (Swedish)
Popular Abstract in Swedish

Utvecklare i stora mjukvaruprojekt måste orientera sig i enorma informationslandskap. Brist på överblick innebär ett hårt slag mot produktiviteten. Mönster ifrån tidigare buggar kan guida framtida underhållsarbete.
Abstract
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... (More)
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. (Less)
Please use this url to cite or link to this publication:
author
supervisor
opponent
  • Professor Demeyer, Serge, University of Antwerp, Belgium
organization
publishing date
type
Thesis
publication status
published
subject
keywords
empirical software engineering, issue management, mining software repositories, machine learning, information retrieval, software traceability, change impact analysis
in
Dissertation / Department of Computer Science, Lund University
volume
46
pages
350 pages
defense location
Lecture hall 1406, building E, Ole Römers väg 3, Lund University, Faculty of Engineering LTH, Lund
defense date
2015-05-08 14:15
ISSN
1404-1219
ISBN
978-91-7623-305-4 (printed version)
978-91-7623-306-1 (electronic version)
project
EASE
language
English
LU publication?
yes
id
2187b818-0f8f-42d5-b22c-c4f7ad2b10f4 (old id 5268091)
date added to LUP
2015-04-16 10:27:11
date last changed
2016-09-19 08:45:01
@phdthesis{2187b818-0f8f-42d5-b22c-c4f7ad2b10f4,
  abstract     = {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<br/><br>
documentation. Efficient management of incoming issue reports requires the successful navigation of the information landscape of a project.<br/><br>
<br/><br>
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<br/><br>
safety-critical development.<br/><br>
<br/><br>
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<br/><br>
of ever-growing training data. We leverage the volume of issue reports to develop accurate decision support for software evolution.<br/><br>
<br/><br>
We evaluate our proposals both by deploying an RSSE in two development<br/><br>
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<br/><br>
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.},
  author       = {Borg, Markus},
  isbn         = {978-91-7623-305-4 (printed version)},
  issn         = {1404-1219},
  keyword      = {empirical software engineering,issue management,mining software repositories,machine learning,information retrieval,software traceability,change impact analysis},
  language     = {eng},
  pages        = {350},
  school       = {Lund University},
  series       = {Dissertation / Department of Computer Science, Lund University},
  title        = {From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution},
  volume       = {46},
  year         = {2015},
}