中文

面向提取局部变量重构的变量名推荐

软件工程 2025-07-02 v1

摘要

提取局部变量是最流行的重构方式之一,大多数IDE和重构工具都提供自动化支持。然而,我们发现约70%的所推荐名称与开发人员手动构建的名称不同,增加了额外的重命名负担,提供的帮助有限。本文引入VarNamer,一种用于提取局部变量重构推荐变量名的自动化方法。通过大规模实证研究,我们识别出用于组成变量名的关键上下文。基于这些见解,我们通过程序静态分析技术构建了一套启发式规则,并采用数据挖掘技术有效推荐变量名。值得注意的是,我们的一些启发式规则已成功集成到Eclipse中,随即随着IDE最新版本发布。评估表明,其优于现有SOTA IDE。具体而言,VarNamer相较于Eclipse将精确匹配概率提升52.6%,相较于IntelliJ IDEA提升40.7%。我们还评估了该方法在C++项目中实际执行的提取局部变量重构,结果表明该方法在Java之外的编程语言上也能实现相当性能。这可能表明VarNamer的普遍适用性。最后,我们设计并进行了用户研究,结果表明该方法可使重构速度提高27.8%,减少49.3%对推荐变量名的编辑操作。

关键词

引用

@article{arxiv.2507.00413,
  title  = {Recommending Variable Names for Extract Local Variable Refactorings},
  author = {Taiming Wang and Hui Liu and Yuxia Zhang and Yanjie Jiang},
  journal= {arXiv preprint arXiv:2507.00413},
  year   = {2025}
}

备注

Accepted by TOSEM