A Comparative Analysis of Large Language Models for Code Documentation Generation

📄 arXiv: 2312.10349v2 📥 PDF

作者: Shubhang Shekhar Dvivedi, Vyshnav Vijay, Sai Leela Rahul Pujari, Shoumik Lodh, Dhruv Kumar

分类: cs.SE, cs.AI

发布日期: 2023-12-16 (更新: 2024-04-27)

备注: Under review


💡 一句话要点

对比分析大型语言模型在代码文档生成中的性能表现

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码文档生成 大型语言模型 对比分析 软件工程 自然语言处理

📋 核心要点

  1. 现有代码文档生成方法效率低、质量参差不齐,难以满足快速迭代的软件开发需求。
  2. 本文对比分析多种LLM在代码文档生成任务中的表现,旨在寻找更高效、高质量的文档生成方案。
  3. 实验结果表明,闭源LLM(GPT-3.5、GPT-4、Bard)在准确性、完整性等方面优于开源模型,但耗时更长。

📝 摘要(中文)

本文对大型语言模型(LLM)在代码文档生成方面的性能进行了全面的对比分析。代码文档是软件编写过程中至关重要的组成部分。本文评估了GPT-3.5、GPT-4、Bard、Llama2和Starchat等模型在不同代码文档级别上的准确性、完整性、相关性、可理解性、可读性和耗时等多个参数。我们的评估采用基于检查表的系统,以最大限度地减少主观性,从而提供更客观的评估。我们发现,除了Starchat之外,所有LLM都始终优于原始文档。值得注意的是,闭源模型GPT-3.5、GPT-4和Bard在各种参数上的表现均优于开源/源代码可用的LLM,即Llama 2和StarChat。考虑到生成所需的时间,GPT-4的持续时间最长,其次是Llama2和Bard,而ChatGPT和Starchat的生成时间相当。此外,与内联和函数级别文档相比,文件级别文档在所有参数(除了耗时)上的表现都明显较差。

🔬 方法详解

问题定义:论文旨在解决代码文档自动生成的问题。现有代码文档编写耗时耗力,且质量难以保证。现有方法可能无法充分利用代码的上下文信息,导致生成的文档不准确、不完整或难以理解。此外,不同粒度(文件、函数、行)的代码文档生成难度不同,需要针对性地进行优化。

核心思路:论文的核心思路是利用大型语言模型(LLM)强大的自然语言生成能力,直接从代码生成相应的文档。通过对比不同LLM在代码文档生成任务上的表现,找到最适合的模型,并分析不同粒度代码文档生成的难点。

技术框架:论文采用对比分析的框架,首先选择一系列具有代表性的LLM,包括GPT-3.5、GPT-4、Bard、Llama2和Starchat。然后,针对不同粒度的代码(文件、函数、行),使用这些LLM生成相应的文档。最后,通过一系列指标(准确性、完整性、相关性、可理解性、可读性和耗时)对生成的文档进行评估和比较。评估过程采用基于检查表的系统,以减少主观性。

关键创新:论文的关键创新在于对多种LLM在代码文档生成任务上的性能进行了全面的对比分析,并提出了基于检查表的客观评估方法。此外,论文还分析了不同粒度代码文档生成的难点,为后续研究提供了有价值的参考。

关键设计:论文的关键设计包括:1) 选择具有代表性的LLM;2) 采用基于检查表的评估方法,该方法包含一系列预定义的检查项,用于评估生成文档的各个方面;3) 针对不同粒度的代码进行实验,以分析不同粒度代码文档生成的难点;4) 采用多种评估指标,包括准确性、完整性、相关性、可理解性、可读性和耗时,以全面评估生成文档的质量。

📊 实验亮点

实验结果表明,闭源LLM(GPT-3.5、GPT-4、Bard)在准确性、完整性、相关性、可理解性和可读性等方面优于开源模型(Llama2、Starchat)。但GPT-4的生成时间最长,而ChatGPT和Starchat的生成时间相对较短。文件级别的文档生成效果普遍较差,需要进一步优化。

🎯 应用场景

该研究成果可应用于自动化代码文档生成工具,提高软件开发效率,降低维护成本。通过选择合适的LLM,可以为不同类型的代码生成高质量的文档,帮助开发者更好地理解和使用代码。未来,可以将该方法应用于更复杂的软件系统,并结合代码分析技术,进一步提高文档生成的质量。

📄 摘要(原文)

This paper presents a comprehensive comparative analysis of Large Language Models (LLMs) for generation of code documentation. Code documentation is an essential part of the software writing process. The paper evaluates models such as GPT-3.5, GPT-4, Bard, Llama2, and Starchat on various parameters like Accuracy, Completeness, Relevance, Understandability, Readability and Time Taken for different levels of code documentation. Our evaluation employs a checklist-based system to minimize subjectivity, providing a more objective assessment. We find that, barring Starchat, all LLMs consistently outperform the original documentation. Notably, closed-source models GPT-3.5, GPT-4, and Bard exhibit superior performance across various parameters compared to open-source/source-available LLMs, namely LLama 2 and StarChat. Considering the time taken for generation, GPT-4 demonstrated the longest duration, followed by Llama2, Bard, with ChatGPT and Starchat having comparable generation times. Additionally, file level documentation had a considerably worse performance across all parameters (except for time taken) as compared to inline and function level documentation.