一句话:首个实证研究分析 Apache 项目中 221 个 workaround,揭示其涉及的缺陷、成因与修复方式。
在缺陷跟踪系统中,缺陷通常以 fixed、invalid、duplicated 或 won’t fix 等状态关闭,而 workaround(临时规避方案)的定义更模糊,围绕哪些缺陷会以 workaround 解决、为何如此以及其修复是什么仍缺乏系统认识。本文是首个针对该问题的实证研究,作者从 Apache 项目中收集并分析了 221 个真实 workaround。结果显示,多数缺陷之所以被标记为 workaround,是因为问题位于库(24.43%)、设置(18.55%)和客户端(10.41%),其中不少缺陷难以被完整、完美地修复。作为 late breaking result,本文仅简要介绍研究,并给出扩展为完整论文的计划。
In software development, issue tracker systems are widely used to manage bug reports. In such a system, a bug report can be filed, diagnosed, assigned, and fixed. In the standard process, a bug can be resolved as fixed, invalid, duplicated or won't fix. Although the above resolutions are well-defined and easy to understand, a bug report can end with a less known resolution, i.e., workaround. Compared with other resolutions, the definition of workarounds is more ambiguous. Besides the problem that is reported in a bug report, the resolution of a workaround raises more questions. Some questions are important for users, especially those programmers who build their projects upon others (e.g., libraries). Although some early studies have been conducted to analyze API workarounds, many research questions on workarounds are still open. For example, which bugs are resolved as workarounds? Why is a bug report resolved as workarounds? What are the repairs of workarounds? In this experience paper, we conduct the first empirical study to explore the above research questions. In particular, we analyzed 221 real workarounds that were collected from Apache projects. Our results lead to some interesting and useful answers to all the above questions. For example, we find that most bug reports are resolved as workarounds, because their problems reside in libraries (24.43%), settings (18.55%), and clients (10.41%). Among them, many bugs are difficult to be fixed fully and perfectly. As a late breaking result, we can only briefly introduce our study, but we present a detailed plan to extend it to a full paper.
DOI 原文 ·
@inproceedings{paperbot5948,
title = {The symptom, cause and repair of workaround},
author = {Daohan Song and Hao Zhong and Li Jia},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3418910}
}