Automated Bug Report Management To Enhance Software Development
Song, Yang
Song, Yang
Abstract
Bug report management is crucial yet challenging process that affects the efficiency of software development process. It involves reporting, triaging, detecting duplicates, assigning, localizing, fixing bugs, and thorough verification. The high volume and variety of bug reports complicate these tasks, highlighting the need for innovative solutions to improve the process and boost development efficiency. This dissertation explores the potential of automating the bug management process to optimize the effectiveness of software development and maintenance. It focuses on three key stages of bug management: reporting, assignment, and localization, presenting four innovative solutions for these phases. First, it discusses the challenges faced by developers due to poor-quality bug reports on GitHub, often lacking crucial details. To address this, the dissertation leverages machine learning to automatically analyze user-written bug reports, identifying key elements of the software system. It aims to automate bug report analysis and inform reporters to provide the missing information timely, thereby enhancing the quality of bug reports and aiding developers in bug triage and resolution. Second, the dissertation proposes an interactive bug reporting system for end-users, implemented as a task-oriented chatbot named \burt. This system guides users through the bug reporting process, offering real-time feedback on each element of a bug description and interactive suggestions to bridge the knowledge gap between end-users and developers. It is designed to make bug reporting more engaging and user-friendly while ensuring the generation of high-quality, informative reports. Third, the dissertation investigates the efficacy of automated methods for recommending developers for bug reports in open-source software projects. It reveals that these methods do not perform consistently across different reports, leading to a proposal for using the most effective method for each report, assessed through machine learning. The findings suggest a gap in the understanding of real-world bug assignment processes and call for further research. Lastly, the dissertation explores different deep learning models that can automatically localize buggy UI screens and components from the bug descriptions of mobile apps. This approach is critical for understanding, diagnosing, and resolving underlying bugs in GUI-centric software applications. Together, these contributions present a comprehensive strategy for enhancing the automated bug report management process, promising significant improvements to the efficiency and effectiveness of the software development process.
Description
Date
2024-01-01
Journal Title
Journal ISSN
Volume Title
Publisher
Collections
Embargo
Research Projects
Organizational Units
Journal Issue
Keywords
Citation
Department
Computer Science
DOI
https://dx.doi.org/10.21220/s2-wk2w-hn09