论文
RepoDoc:基于知识图谱的自动文档生成和增量更新框架
RepoDoc: A Knowledge Graph-Based Framework to Automatic Documentation Generation and Incremental Updates
摘要
维护大型代码库的最新、全面的文档是一项持续的挑战。自动化文档的最新进展已从基于模板的规则转向 大语言模型 (LLM),但现有工具仍然将源代码作为平面片段处理,生成缺乏语义结构的孤立文档。这种设计还会导致词元消耗过多和生成速度缓慢,同时无法捕获代码更改如何跨依赖项传播。我们提出了 RepoDoc,一个使用存储库知识图(RepoKG)作为整个文档生命周期的语义基础的系统。我们的框架由三个阶段组成:(1)RepoKG构建,提取代码实体及其关系; (2) 模块聚类,将代码分组为功能内聚的分层单元; (3) 熟练的基于代理的生成,它查询图形以使用自动生成的美人鱼图创建模块化、交叉引用的文档。对于增量维护,语义影响传播机制可双向导航 RepoKG 以查明所有受影响的部分,从而允许有选择性、有针对性的重新生成。在跨 8 种编程语言的 24 个存储库上进行评估后,RepoDoc 的性能大大优于最先进的替代方案。它将 API 覆盖率提高了 32.5%,完整性提高了 10.4%,同时生成文档的速度提高了 3 倍,词元数量减少了 85%。对于增量更新,它将更新时间减少了 73%,词元使用量减少了 77%,更新召回率提高了 10.2%,更准确地反映了重新生成的文档中的代码更改。源代码和实验工件可在 https://github.com/SYSUSELab/RepoDoc 获取。