一句话:首个过时 issue 报告实证研究,定义过时比例并用 ICLINKER 分析其分布与代码注释引用。
Issue 报告记录维护信息,常被写入代码注释,也被用于挖掘知识以支持编程任务。然而软件演化中,某些 issue 报告对应的提交被覆盖或回滚,导致报告过时,其引用与描述失效,并影响基于它们构建的方法。本文开展首个过时 issue 报告实证研究。为度量过时程度,作者将过时比例定义为报告被删除行数占全部修改行数的比例,并实现工具 ICLINKER 建立 issue 报告与提交的链接、计算每个报告的过时比例。研究分析来自 5 个 Apache 项目的 70,180 个提交和 46,257 个 issue 报告,考察过时 issue 报告的分布及代码注释中过时引用的分布。发现过时报告与其他报告混杂,且即使近期报告过时,一些旧报告仍保持最新,部分结论反直觉。
Issue reports record valuable maintenance details. Developers write issue numbers into code comprehension and researchers mine knowledge from issue reports to assist various programming tasks. Although issue reports are useful, some of them can be obsolete, in that their corresponding commits are overwritten or rolled back, with the evolution of software. The obsolete issue reports can invalidate their references and descriptions, and can have far-reaching impacts on the approaches built on them. To explore their impacts, we conduct the first empirical study to analyze obsolete issue reports.To measure how an issue report becomes obsolete, we define an obsolete ratio of an issue report as its deleted lines over all its modified lines. To support our analysis, we build a tool, ICLINKER, that builds the links between an issue report and its commits, and calculates the obsolete ratio for each issue report. In our study, we analyze 70,180 commits and 46,257 issue reports that are collected from 5 Apache projects. We explore two research questions, which concern the distributions of obsolete issue reports and the obsolete references in code comments. Our findings to these research questions enrich the knowledge on obsolete issue reports, and some are even counterintuitive. For example, we find that obsolete issue reports are mixed with other issue reports. Even when recent issue reports are obsolete, some old issue reports keep up-to-date.
DOI 原文 ·
@inproceedings{paperbot6553,
title = {An Empirical Study on Obsolete Issue Reports},
author = {Zexuan Li and Hao Zhong},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678543}
}