Recoleta Item Note

KCoEvo: A Knowledge Graph Augmented Framework for Evolutionary Code Generation

KCoEvo解决的是 随API版本演化而失效的代码迁移生成 问题:普通LLM常输出过时或不兼容API,而该方法用知识图谱显式表示API演化路径来约束生成。论文将迁移拆成“先找演化路径、再按路径生成代码”两步,并在多个模型与迁移类型上显著提升准确率与可执行性。

code-generationapi-migrationknowledge-graphllm-reasoningsoftware-evolution

KCoEvo解决的是随API版本演化而失效的代码迁移生成问题:普通LLM常输出过时或不兼容API,而该方法用知识图谱显式表示API演化路径来约束生成。论文将迁移拆成“先找演化路径、再按路径生成代码”两步,并在多个模型与迁移类型上显著提升准确率与可执行性。

  • 目标问题:把依赖旧版本第三方库的代码,自动迁移为兼容新版本的代码,同时保持原始功能不变。
  • 重要性:现代项目高度依赖第三方库,API频繁变更会导致代码失效、维护成本上升;作者举例称典型项目可能含有20–70个传递依赖,而直接依赖只有6–10个
  • 现有LLM缺陷:缺少对版本间关系、弃用/重命名/迁移等演化知识的显式结构化表示,因此容易生成过时API、语义不一致代码或无法执行的输出。
  • 构建两层API知识图谱:static API graph表示单版本内的结构关系,dynamic alignment graph表示跨版本的演化关系,如 retain、remove、rename、relocate。
  • 将迁移分成两阶段:先做evolution path retrieval,从图中检索从旧API到新API的可行迁移轨迹;再做path-informed code generation,让LLM依据这些路径生成目标代码。
  • 动态对齐时,系统先从查询代码里定位API节点,再基于BFS图遍历结合版本元数据与关系类型,找出有效的跨版本候选路径。
  • 规划模块直接复用LLM,不单独训练新模型:LLM先把对齐子图转成显式的“演化计划”,再由推理/生成模块按计划完成代码迁移。
  • 训练监督来自真实API diff自动合成的数据,而非大量人工标注,从而提升可扩展性并降低人力成本。
  • 在VersiCode基准上,方法相对基础LLM在所有迁移类型上都有提升。示例:DeepSeek-V3Major→Major上,CDC@1从59.52升至96.83,EM@1从59.52升至100.00(分别**+37.31**、+40.48)。
  • 在更难的跨版本迁移中提升更大。DeepSeek-V3Major→Minor上EM@1从33.8494.44+60.60),在Minor→Major上从15.7495.37+79.63)。
  • Qwen2.5-Coder-32B-Instruct收益也很大:Major→Minor上EM@1从16.1692.42+76.26);Minor→Major上从7.4187.96+80.55)。
  • 高性能闭源模型仍能受益。GPT-5基线已很强,但加入KG后在Minor→Minor上CDC@1从46.3092.60+46.30),EM@1从72.23100.00+27.77);在Minor→Major上CDC@1从82.83100.00
  • 对比代码块RAG,普通检索增强收益有限甚至退化。例如Qwen2.5-7B-InstructMajor→Major的EM@1基线为38.89,加入Downstream Code后为38.10,加入Library Source仍仅38.10;说明结构化演化知识比原始代码检索更有效。
  • 论文的核心主张是:知识图谱不仅提高准确率/EM@1,也提高CDC@1对应的语法与执行成功性,并带来更强的可控性与可解释的迁移路径。
Built with Recoleta

Run your own research radar

Turn arXiv, Hacker News, OpenReview, Hugging Face Daily Papers, and RSS into local Markdown, Obsidian notes, Telegram digests, and a public site.