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

Research output: ThesisDoctoral Thesis (compilation)

600 Downloads (Pure)

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 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.
Original languageEnglish
QualificationDoctor
Awarding Institution
  • Department of Computer Science
Supervisors/Advisors
  • Runeson, Per, Supervisor
  • Regnell, Björn, Supervisor
Award date2015 May 8
ISBN (Print)978-91-7623-305-4
ISBN (electronic) 978-91-7623-306-1
Publication statusPublished - 2015

Bibliographical note

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

---

Subject classification (UKÄ)

  • Computer Science

Keywords

  • empirical software engineering
  • issue management
  • mining software repositories
  • machine learning
  • information retrieval
  • software traceability
  • change impact analysis

Fingerprint

Dive into the research topics of 'From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution'. Together they form a unique fingerprint.

Cite this