超越函数层级的代码摘要
计算与语言
2025-02-25 v1 人工智能
摘要
代码摘要是自然语言处理和软件工程中的关键任务,旨在生成源代码的简洁描述。近期的进展提高了这些摘要的质量,增强了代码的可读性和可维护性。然而,仓库或类的内容尚未被考虑在函数级别的代码摘要中。本研究探讨了在函数层级之外进行代码摘要的有效性,考察了类和仓库上下文对摘要质量的影响。研究涉及修订用于评估类和仓库层级模型的基准,评估基线模型,并评估利用情境学习的大语言模型(LLM),以确定额外上下文如何提升摘要质量。研究结果表明,经过微调的最先进 CodeT5+ 基础模型在代码摘要任务中表现出色,而结合少量学习和从 RAG 检索的代码块,显著提升了大语言模型在此任务中的性能。值得注意的是,Deepseek Coder 1.3B 和 Starcoder2 15B 模型在类和仓库层级的各项指标(如 BLEURT、METEOR 和 BLEU-4)上均实现了显著提升。仓库层级的摘要展现出广阔的潜力,但需要大量计算资源,并且从结构化上下文的包含中获益颇大。最后,我们采用最近的 SIDE 代码摘要指标进行评估。本研究为精炼提示工程、少量学习和 RAG 的策略,填补了代码摘要在不同层级基准中的空白。我们发布了本研究的全部细节、代码、数据集和评估结果,可在 GitHub 仓库 https://github.com/kilimanj4r0/code-summarization-beyond-function-level 查阅。
引用
@article{arxiv.2502.16704,
title = {Code Summarization Beyond Function Level},
author = {Vladimir Makharev and Vladimir Ivanov},
journal= {arXiv preprint arXiv:2502.16704},
year = {2025}
}
备注
Accepted to LLM4Code @ ICSE'25; 8 pages, 3 figures, 4 tables