Decoding the Issue Resolution Process in Practice via Issue Report Analysis: A Case Study of Firefox
Antu Saha, Oscar Chaparro
TL;DR
The paper investigates how Firefox developers actually resolve issues by analyzing 356 issue reports, revealing a six-stage, highly iterative resolution process that deviates from linear models in the literature. It combines qualitative open coding with quantitative sequence analysis to derive 47 recurring issue-resolution patterns and a process graph highlighting stage interplay, with implementation, code review, and verification as central activities. The contributions include a detailed pattern catalog, insights into how patterns vary by issue type and problem category, and data and tooling to support replication and broader study. The findings have practical implications for tooling, process assessment, and developer training, suggesting ways to detect complex resolutions, deviations from prescribed workflows, and opportunities for refactoring and improved automation. Overall, the work advances understanding of practice-oriented software maintenance, demonstrating that issue resolution is diverse, iterative, and supported by pattern-based representations that transfer to other projects with careful validation.
Abstract
Effectively managing and resolving software issues is critical for maintaining and evolving software systems. Development teams often rely on issue trackers and issue reports to track and manage the work needed during issue resolution, ranging from issue reproduction and analysis to solution design, implementation, verification, and deployment. Despite the issue resolution process being generally known in the software engineering community as a sequential list of activities, it is unknown how developers implement this process in practice and how they discuss it in issue reports. This paper aims to enhance our understanding of the issue resolution process implemented in practice by analyzing the issue reports of Mozilla Firefox. We qualitatively and quantitatively analyzed the discussions found in 356 Firefox issue reports, to identify the sequences of stages that developers go through to address various software problems. We analyzed the sequences to identify the overall resolution process at Firefox and derived a catalog of 47 patterns that represent instances of the process. We analyzed the process and patterns across multiple dimensions, including pattern complexity, issue report types, problem categories, and issue resolution times, resulting in various insights about Mozilla's issue resolution process. We discuss these findings and their implications for different stakeholders on how to better assess and improve the issue resolution process.
