中文

AUTOGENICS:面向编程问答站点的基于LLM的上下文感知内联注释自动生成

软件工程 2024-08-29 v1

摘要

源代码中的内联注释有助于简化理解、提高可重用性和增强可读性。然而,像Stack Overflow(SO)这样的问答站点上的代码片段常常缺乏注释,因为回答者通常是自愿性贡献,常常因时间限制而省略注释或解释。现有研究表明,这些在线代码示例难以阅读和理解,导致开发人员(尤其是初学者)正确使用它们困难,进而引发误用。针对这些挑战,我们引入了AUTOGENICS,这是一个设计用于集成到SO以生成有效内联注释的工具,利用大语言模型(LLM)。我们的贡献有三点。首先,我们随机抽取400个回答代码片段,并使用LLM生成内联注释。随后,我们手动评估这些注释的有效性,使用四个关键指标:准确性、充分性、简洁性和有用性。总体而言,LLM在为SO回答代码片段生成内联注释方面表现出色。其次,我们调查了14名活跃的SO用户以了解他们对这些内联注释的有效性的感知。调查结果与我们的前人手动评估一致。然而,根据我们的评估,LLM生成的注释在较短的代码片段上不够有效,有时会产生噪声注释。第三方面,为解决这些差距,我们引入了AUTOGENICS,从问题文本中提取额外的上下文信息,并生成具有上下文感知的内联注释。它还通过去除噪声(例如导入语句和变量声明中的注释)来优化注释。我们使用相同的四个指标评估了AUTOGENICS生成的注释,其效果优于标准LLM。AUTOGENICS可能(a)增强代码理解,(b)节省时间,并提高开发人员准确学习和重用代码的能力。

关键词

引用

@article{arxiv.2408.15411,
  title  = {AUTOGENICS: Automated Generation of Context-Aware Inline Comments for Code Snippets on Programming Q&A Sites Using LLM},
  author = {Suborno Deb Bappon and Saikat Mondal and Banani Roy},
  journal= {arXiv preprint arXiv:2408.15411},
  year   = {2024}
}

备注

Accepted for presentation in the research track at the IEEE International Conference on Source Code Analysis & Manipulation (SCAM 2025)