Keywords
Bug Reports, Bug Localization, Program Repair
Abstract
Given the rising popularity of desktop and mobile applications and their daily use, software quality has never been more important. Graphical User Interface (GUI)-based software is one of the most common types of software used in today's world. However, building GUI or UI-based software is challenging because it requires addressing unique challenges, such as connecting functionality to display logic in the available GUI components, testing complicated UI features, and leveraging difficult-to-use programming tools. To address these challenges, programmers need to reason about an abstraction gap across three different modalities of information: natural language, code, and the GUI itself. However, due to the challenges in navigating this abstraction gap and connecting information across these three modalities, programmers often introduce bugs in UI-centric programs, which can result in software failures.
Bug reports are a widely adopted approach to documenting and describing bugs. Researchers describe observed behavior, expected behavior, and steps to reproduce as the crucial components necessary to understand, locate, and fix bugs. Unfortunately, most bug reports often miss these crucial components, leading to difficulties in bug reproduction. In addition, identifying bugs in source code is difficult because there is often a notable semantic gap between the information contained in bug reports and identifiers or natural language contained within source code files. Moreover, debugging and providing fixes for bugs is challenging because UI-related bugs in code often contain complicated event callbacks and cross-component interactions.
This research aims to (i) automatically assess the quality of bug reports, (ii) identify bugs in code, and (iii) provide fixes to bugs. Firstly, to automatically assess the quality of bug reports, we propose a new technique called AstroBR, which leverages the language understanding capabilities of LLMs to identify and extract the steps to reproduce (S2Rs) from bug reports and match them to GUI interactions in program state model gleaned from dynamic analysis. Secondly, to identify bugs in source code, we conduct a comprehensive empirical study that augments four baseline text-retrieval techniques for bug localization with GUI interaction information from a reproduction scenario to (i) filter out potentially irrelevant files, (ii) boost potentially relevant files, and (iii) reformulate text-retrieval queries. Finally, to generate fixes for bugs used in code, we investigate the effectiveness of existing APR techniques in a novel benchmark that we create called DroidFixBench to fix bugs in UI code. We conduct a comprehensive empirical study with five existing program repair techniques to generate patches that fix UI bugs.
Completion Date
2026
Semester
Spring
Committee Chair
Kevin Moran
Degree
Doctor of Philosophy (Ph.D.)
College
College of Engineering and Computer Science
Department
Computer Science
Format
Document Type
Dissertation
Identifier
DP0053136
Release Date
5-15-2027
STARS Citation
Mahmud, Junayed, "Multimodal Learning For Automated Bug Report Management" (2026). Graduate Studies Theses and Dissertations 2026. 115.
https://stars.library.ucf.edu/gradstudies_etd_2026/115
Accessibility Statement
This item was created or digitized prior to April 24, 2027, or is a reproduction of legacy media created before that date. It is preserved in its original, unmodified state specifically for research, reference, or historical recordkeeping. In accordance with the ADA Title II Final Rule, the University Libraries provides accessible versions of archival materials upon request. To request an accommodation for this item, please submit an accessibility request form.