From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution
(2015) In Dissertation / Department of Computer Science, Lund University 46.- 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) - 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.
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/5268091
- author
- Borg, Markus LU
- supervisor
-
- Per Runeson LU
- Björn Regnell LU
- opponent
-
- Professor Demeyer, Serge, University of Antwerp, Belgium
- organization
- publishing date
- 2015
- 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:00
- ISSN
- 1404-1219
- ISBN
- 978-91-7623-306-1
- 978-91-7623-305-4
- project
- Embedded Applications Software Engineering
- language
- English
- LU publication?
- yes
- id
- 2187b818-0f8f-42d5-b22c-c4f7ad2b10f4 (old id 5268091)
- date added to LUP
- 2016-04-04 09:41:55
- date last changed
- 2021-04-29 09:44:13
@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-306-1}}, issn = {{1404-1219}}, keywords = {{empirical software engineering; issue management; mining software repositories; machine learning; information retrieval; software traceability; change impact analysis}}, language = {{eng}}, school = {{Lund University}}, series = {{Dissertation / Department of Computer Science, Lund University}}, title = {{From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution}}, url = {{https://lup.lub.lu.se/search/files/5393516/5268413.pdf}}, volume = {{46}}, year = {{2015}}, }