Date Awarded
2024
Document Type
Dissertation
Degree Name
Doctor of Philosophy (Ph.D.)
Department
Computer Science
Advisor
Oscar Chaparro
Committee Member
Michael Lewis
Committee Member
Denys Poshyvanyk
Committee Member
Weizhen Mao
Committee Member
Kevin Moran
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.
DOI
https://dx.doi.org/10.21220/s2-wk2w-hn09
Rights
© The Author
Recommended Citation
Song, Yang, "Automated Bug Report Management To Enhance Software Development" (2024). Dissertations, Theses, and Masters Projects. William & Mary. Paper 1727787973.
https://dx.doi.org/10.21220/s2-wk2w-hn09