- 简介为了支持软件开发人员理解和维护程序,已经提出了各种自动(源代码)摘要技术,用于为给定的代码片段生成简明的自然语言摘要(即注释)。最近,大型语言模型(LLMs)的出现使得与代码相关的任务的性能大大提高。本文对LLMs时代的代码摘要进行了系统全面的研究,涵盖了LLM-based代码摘要工作流程中涉及的多个方面。具体而言,我们首先研究了用于评估LLMs生成的摘要质量的普遍自动化评估方法,并发现GPT-4评估方法的结果与人类评估最接近。然后,我们探讨了五种提示技术(零-shot、少-shot、思维链、批判和专家)在适应LLMs进行代码摘要任务方面的有效性。与预期相反,高级提示技术可能不如简单的零-shot提示。接下来,我们调查了LLMs的模型设置(包括top_p和temperature参数)对生成的摘要质量的影响。我们发现这两个参数对摘要质量的影响因基础LLM和编程语言而异,但它们的影响相似。此外,我们调查了LLMs在不同类型编程语言的代码片段中摘要的能力。结果显示,与其他语言类型相比,LLMs在总结逻辑编程语言编写的代码时表现不佳。最后,我们意外地发现,CodeLlama-Instruct具有7B参数,在生成描述代码实现细节和断言代码属性的摘要方面可以胜过先进的GPT-4。我们希望我们的研究结果可以全面了解LLMs时代的代码摘要。
-
- 图表
- 解决问题本论文旨在研究基于大型语言模型的代码摘要生成技术,探讨自动化评估方法、提示技术、模型设置和编程语言对代码摘要生成的影响。
- 关键思路本论文通过对自动化评估方法、提示技术、模型设置和编程语言的探究,提出了一系列可行的方案来提高大型语言模型生成代码摘要的质量。
- 其它亮点论文发现GPT-4评估方法的结果与人工评估最为接近;在五种提示技术中,简单的零-shot提示效果最好;模型设置中的top_p和temperature参数对不同编程语言和基础模型有不同的影响;大型语言模型在逻辑编程语言的代码摘要生成方面表现不如其他编程语言;CodeLlama-Instruct模型可以在描述代码实现细节和断言代码属性方面胜过GPT-4。
- 在该领域的相关研究包括:《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》、《Improving Code Summarization via Code-Comment Cross-Attention Networks》等。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流