一句话:提出重构感知的 CodeTracker,高精度追踪提交历史中方法与变量声明的变更历史。
在项目提交历史中追踪程序元素对软件维护、理解与演化至关重要,工具精度直接影响采用。作者提出 CodeTracker,一个重构感知工具,能为方法与变量声明生成提交变更历史。评估显示,方法追踪达到 99.9% 精确率与召回率,超过此前最优工具 CodeShovel,且执行时间相当;它还是首个可追踪变量历史的同类工具,变量追踪精确率 99.7%、召回率 99.8%。为评估变量追踪,作者扩展 Grund 等人的 oracle,覆盖 200 个方法中 1345 个变量与参数的完整变更历史,并公开工具与 oracle。
Tracking program elements in the commit history of a project is essential for supporting various software maintenance, comprehension and evolution tasks. Accuracy is of paramount importance for the adoption of program element tracking tools by developers and researchers. To this end, we propose CodeTracker, a refactoring-aware tool that can generate the commit change history for method and variable declarations with a very high accuracy. More specifically, CodeTracker has 99.9% precision and recall in method tracking, surpassing the previous state-of-the-art tool, CodeShovel, with a comparable execution time. CodeTracker is the first tool of its kind that can track the change history of variables with 99.7% precision and 99.8% recall. To evaluate its accuracy in variable tracking, we extended the oracle created by Grund et al. for the evaluation of CodeShovel, with the complete change history of all 1345 variables and parameters declared in the 200 methods comprising the Grund et al. oracle. We make our tool and extended oracle publicly available to enable the replication of our experiments and facilitate future research on program element tracking techniques.
DOI 原文 ·
@inproceedings{paperbot7033,
title = {Accurate method and variable tracking in commit history},
author = {Mehran Jodavi and Nikolaos Tsantalis},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3549079}
}