基于深度学习的方法名称不一致识别研究:我们离这一步还有多远?
软件工程
2025-01-23 v1 人工智能
摘要
简洁且富有意义的方法名称对于程序的理解与维护至关重要。然而,方法名称可能与其对应的实现不一致,导致混淆和错误。已提出多种基于深度学习(DL)的方法来识别此类不一致性,初始评估显示具有前景的结果。然而,这些评估通常使用平衡数据集,其中不一致和一致的名称数量相等。这种设置以及数据集构建中的缺陷导致误报,在实际场景中(即大多数方法名称是一致的)下,报告的性能不够可靠。本文提出了一项实证研究,对评估识别不一致方法名称的先进DL方法进行评估。我们通过结合自动从提交历史中识别和手动开发人员检查,创建了新的基准,减少误报。我们在该基准上评估了五个具有代表性的DL方法(一个基于检索的和四个基于生成的)。我们的结果表明,从平衡数据集迁移到新基准后,性能显著下降。我们进一步进行定量和定性分析,以了解这些方法的优势与不足。基于检索的方法在简单方法以及名称子词流行的方法上表现良好,但由于表示技术不够高效而失败。基于生成的方法在相似度计算不准确和名称生成不成熟方面存在挑战。基于上述发现,我们提出了使用对比学习和大型语言模型(LLM)的改进方法。本研究表明,在这些DL方法能够有效应用于实际软件系统之前仍需取得显著进展。
引用
@article{arxiv.2501.12617,
title = {Deep Learning-Based Identification of Inconsistent Method Names: How Far Are We?},
author = {Taiming Wang and Yuxia Zhang and Lin Jiang and Yi Tang and Guangjie Li and Hui Liu},
journal= {arXiv preprint arXiv:2501.12617},
year = {2025}
}