论文

命名前先了解!通过代码摘要增强基于 LLM 的方法名称预测

Understanding before Naming! Enhancing LLM-based Method Name Prediction with Code Summarization

模型推理推理策略与问题分解

摘要

方法名称对于软件质量至关重要,会影响代码的可理解性、可维护性和开发人员协作。然而,手动设计有意义的方法名称具有挑战性。方法名称预测(MNP),从代码片段自动生成方法名称,最近引起了人们的关注。尽管 大语言模型 (LLM) 对 MNP 表现出良好的性能,但仍然存在两个挑战。首先,现有的评估主要依赖于标记相似度度量,这往往无法反映人类对语义质量的判断。其次,当前基于 LLM 的 MNP 方法通常通过直接代码到名称的映射来生成名称,这与人类在命名之前理解功能的过程不同。为了应对这些挑战,我们对基于 LLM 的评估和 MNP 策略进行了实证研究。我们比较了 6 个基于度量的评估器、5 个基于 LLM 的评估器和 6 个人类评估器。结果表明,基于 LLM 的评估器,尤其是基于 DeepSeek 的评估器,比传统指标更符合人类判断。我们进一步比较直接生成和总结和细化策略。结果表明,摘要和细化通常可以提高生成名称的语义质量。案例研究揭示了三个局限性:不准确的摘要、语义错位和接近的语义分数。基于这些发现,我们提出了 SMNP,一种结合了面向 MNP 的总结和思想链增强细化的 MNP 方法。在5个LLM和2个数据集上的实验证明了SMNP的有效性和鲁棒性。