摘要:随着编程命名规范的普及和自描述代码的深入实践, 传统与代码字面相似的摘要性代码注释逐渐失去开发者的青睐. 开发者更关注在理解和维护代码过程中能够提供额外信息的补充性代码注释. 但是, 补充性代码注释的生成往往需要代码之外的额外信息源, 且注释中呈现的补充内容复杂多样, 给现有工作带来很大的挑战. 将软件开发中开发者之间的Issue交流记录作为额外信息源, 提出一种基于Issue检索增强大语言模型的补充性代码注释生成方法. 该方法首先将Issue中的代码补充信息整理分类为5种类型, 再利用大语言模型从代码提交时所关联的Issue中检索出包含潜在类型补充信息的语句, 随后根据相应语句进行注释生成. 进一步, 该方法通过分析生成注释的代码相关性和Issue可验证性, 能较好地过滤生成注释中潜在的幻觉. 在两个主流大语言模型ChatGPT和GPT-4o上进行了实验. 实验结果表明, 所提方法能够将ChatGPT生成注释对于人工补充性注释的覆盖率从33.6%提升至72.2%, 将GPT-4o生成注释对于人工补充性注释的覆盖率从35.8%提升至88.4%, 显著地提升了补充性代码注释的生成效果. 同时, 所提方法所生成的注释相比现有方法能够明显提供更多对开发者有帮助的额外信息, 从而对开发者在理解一些复杂代码时具有十分重要的价值.