一句话:实证研究发现10%–21%方法级变更未被重构跟踪,并显著影响MSR分析,需系统性处理。
论文关注挖掘软件仓库(MSR)研究在源代码演化分析中往往不检测也不记录重构,从而导致“未跟踪变更”可能干扰分析。作者对15个大型Java系统进行广泛实证研究,在方法级别量化未跟踪变更的比例,并分析其对实体历史连续性和MSR方法性能的影响。结果显示,10%–21%的方法级变更未被跟踪,约25%实体的历史可能因此被割裂,且至少两种MSR方法受到可测量影响。因此,论文结论是MSR研究应系统性地考虑并处理未跟踪变更。
While refactoring is extensively performed by practitioners, many Mining Software Repositories (MSR) approaches do not detect nor keep track of refactorings when performing source code evolution analysis. In the best case, keeping track of refactorings could be unnecessary work; in the worst case, these untracked changes could significantly affect the performance of MSR approaches. Since the extent of the threat is unknown, the goal of this paper is to assess whether it is significant. Based on an extensive empirical study, we answer positively: we found that between 10 and 21% of changes at the method level in 15 large Java systems are untracked. This results in a large proportion (25%) of entities that may have their histories split by these changes, and a measurable effect on at least two MSR approaches. We conclude that handling untracked changes should be systematically considered by MSR studies.
DOI 原文 ·
@inproceedings{paperbot4431,
title = {Assessing the threat of untracked changes in software evolution},
author = {Andre Hora and Danilo Silva and Marco Tulio Valente and Romain Robbes},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180212}
}