一句话:通过分析 356 份 Firefox issue 报告,归纳实际 issue 解决过程的阶段序列,并总结出 47 种过程模式。
论文关注软件开发中的 issue 解决过程:尽管社区通常将其视为一串顺序活动,但开发者在实践中如何执行、如何在 issue 报告中讨论仍不清楚。作者以 Mozilla Firefox 为案例,对 356 份 issue 报告中的讨论进行定性与定量分析,识别开发者处理各类软件问题所经历的阶段序列,并据此刻画 Firefox 的整体解决过程,归纳出 47 种过程模式。作者从模式复杂度、issue 报告类型、问题类别和解决时间等维度分析这些过程与模式,得到关于 Mozilla issue 解决过程的多种洞见。论文最后讨论这些发现对利益相关者的启示,以帮助更好地评估和改进 issue 解决过程。
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.
DOI 原文 ·
@inproceedings{paperbot8854,
title = {Decoding the Issue Resolution Process in Practice via Issue Report Analysis: a Case Study of Firefox},
author = {Antu Saha and Oscar Chaparro},
booktitle = {ICSE},
year = {2025},
doi = {10.1109/icse55347.2025.00241}
}