中文

评估与改进基于 ChatGPT 的缩写扩展

软件工程 2024-11-01 v1

摘要

源代码标识符常包含缩写。这些缩写可能降低源代码的可读性,从而阻碍软件应用的维护。为此,需要准确且自动化的扩展源代码中缩写的方法,而缩写扩展已受到广泛关注。然而,据我们所知,大多数现有方法都采用启发式方法,且尚未采用深度学习技术,更不用说最先进的大语言模型(LLM)了。LLM 在各种软件工程任务中展现了卓越的性能,因此有潜力自动扩展缩写。为此,本文提出了首个基于 LLM 的缩写扩展实证研究。我们的评估结果表明,ChatGPT 的准确率显著低于最新方法,分别将精确率和召回率降低了 28.2% 和 27.8%。我们对失败案例进行了手动分析,并发现了导致失败的根本原因:1) 缺乏上下文;2) 无法识别缩写。针对第一个原因,我们研究了各种上下文的效果,发现周围的源代码是最佳选择。针对第二个原因,我们设计了一种迭代方法,用于在提示中识别并显式标记遗漏的缩写。最后,我们提出了后置条件检查,以排除违反常识的错误扩展。所有这些措施共同作用,使 ChatGPT 基于的缩写扩展与最新方法相当,而无需进行昂贵的源代码解析和深入分析。

关键词

引用

@article{arxiv.2410.23866,
  title  = {Evaluating and Improving ChatGPT-Based Expansion of Abbreviations},
  author = {Yanjie Jiang and Hui Liu and Lu Zhang},
  journal= {arXiv preprint arXiv:2410.23866},
  year   = {2024}
}