基于上下文感知提示微调的方法命名自动化
软件工程
2023-03-13 v1
摘要
方法名对程序理解与维护至关重要。近年来,许多方法被提出用于自动推荐方法名并检测不一致的名称。尽管前景可观,考虑到以下三个缺陷,其结果仍非最优:1)这些模型大多从零开始训练,同时学习两个不同的目标。两目标间的错位会对训练效率和模型性能产生负面影响。2)外围类上下文未被充分利用,难以学习方法的抽象功能。3)当前方法名一致性检查方法遵循先生成再比较的流程,由于高度依赖生成名称的质量且难以度量语义一致性,其准确性受限。本文提出一种名为 AUMENA 的方法,通过上下文感知提示微调来自动化方法命名任务(AUtomate MEthod NAming)。与现有基于深度学习的方法不同,我们的模型首先通过预训练模型学习编程语言(PL)与自然语言(NL)的上下文化表示(即类属性),然后充分利用大语言模型的容量与知识,通过提示微调精确检测不一致的方法名并推荐更准确的名称。为更好地识别语义一致的名称,我们将方法名一致性检查任务建模为一个二分类问题,避免了先前基于相似度的一致性检查方法的局限。实验结果表明,AUMENA 在四个方法名推荐数据集上分别取得 68.6%、72.0%、73.6%、84.7% 的分数,分别超越最先进基线 8.5%、18.4%、11.0%、12.0%。我们的方法在方法名一致性检查上取得 80.8% 的准确率,实现了 5.5% 的性能超越。所有数据与训练模型均已公开。
引用
@article{arxiv.2303.05771,
title = {Automating Method Naming with Context-Aware Prompt-Tuning},
author = {Jie Zhu and Lingwei Li and Li Yang and Xiaoxiao Ma and Chun Zuo},
journal= {arXiv preprint arXiv:2303.05771},
year = {2023}
}
备注
Accepted by ICPC-2023