跳转至

💻 代码智能

💬 ACL2025 · 27 篇论文解读

LongCodeU: Benchmarking Long-Context Language Models on Long Code Understanding

提出 LongCodeU 基准,从代码单元感知、单元内理解、单元间关系理解和长文档理解四个维度设计 8 个任务,评估 9 个长上下文语言模型在真实仓库级长代码上的理解能力,揭示 32K token 是当前 LCLM 长代码理解的实际上限。

Beyond Sequences: Two-dimensional Representation and Dependency Encoding for Code Generation

本文提出超越传统一维序列表示的二维代码表示方法,通过显式编码代码的结构依赖关系(如语法树结构和变量依赖),显著提升了代码生成的准确性和结构正确性。

CoCo-Bench: A Comprehensive Code Benchmark for Multi-task Large Language Model Evaluation

提出 CoCo-Bench(Comprehensive Code Benchmark),一个覆盖代码理解、代码生成、代码修改和代码审查四个维度的综合代码基准,支持多编程语言和多难度等级,通过严格的人工审核确保数据质量,揭示了现有 LLM 在代码能力上的不均衡表现。

CodeDPO: Aligning Code Models with Self Generated and Verified Source Code

提出 CodeDPO,通过 PageRank 启发的自验证评分机制从自生成代码中构造高质量偏好对(93K 正确性 + 21K 效率),DPO 训练后在 8 个代码模型上 HumanEval 平均提升 10+ 分,同时提升代码执行效率 1.25-1.45×。

CodeIF: Benchmarking the Instruction-Following Capabilities of Large Language Models for Code Generation

提出 CodeIF,第一个系统性评估 LLM 在代码生成中指令遵循能力的基准,含 8 大类 50 个细粒度约束指令、4 种新评估指标,并对 35 个 SOTA 模型进行全面评估。

CodeReviewQA: The Code Review Comprehension Assessment for Large Language Models

提出 CodeReviewQA 基准,将代码审查自动修正(ACR)任务分解为三个中间推理步骤——变更类型识别(CTR)、变更定位(CL)、解决方案识别(SI),各自设计为不同难度的多选题探测,在 900 个人工验证的高质量样例(9 种语言)上评测 72 个 LLM,揭示了模型在代码审查理解中的具体弱点。

CompileAgent: Automated Real-World Repo-Level Compilation with Tool-Integrated LLM-based Agent System

提出 CompileAgent,首个面向仓库级代码编译的 LLM Agent 框架,集成五种专用工具和流程化 Agent 策略,在 100 个 C/C++ 真实项目的 CompileAgentBench 上将编译成功率最高提升 71%,平均每个项目仅需 $0.22。

CoRet: Improved Retriever for Code Editing

提出 CoRet,一个面向代码编辑任务的稠密检索模型,通过整合代码语义、仓库文件层级结构和调用图依赖关系,并使用针对仓库级检索设计的对数似然损失函数,在 SWE-bench 和 Long Code Arena 上比现有模型的 Recall 至少提升 15 个百分点。

DARS: Dynamic Action Re-Sampling to Enhance Coding Agent Performance by Adaptive Tree Traversal

本文提出 DARS(动态动作重采样),一种针对编程智能体的推理时计算扩展方法,在智能体做出次优决策的关键节点上动态分支并尝试替代动作,在 SWE-Bench Lite 上以 Claude 3.5 Sonnet V2 实现 55% 的 pass@k 和 47% 的 pass@1,超越当时开源 SOTA 框架。

DynaCode: A Dynamic Complexity-Aware Code Benchmark for Evaluating Large Language Models in Code Generation

提出 DynaCode,一个动态复杂度感知的代码生成基准,通过将代码问题按圈复杂度分类并用调用图(Call Graph)组合嵌套,生成约 1.89 亿个唯一问题,有效缓解数据污染并系统评估 LLM 在不同复杂度下的代码生成能力。

ETF: An Entity Tracing Framework for Hallucination Detection in Code Summaries

提出 Entity Tracing Framework (ETF),一种通过静态程序分析提取代码实体、再用 LLM 验证这些实体在生成摘要中是否被正确描述的幻觉检测框架,配合首创的 CodeSumEval 数据集(~10K样本),在代码摘要幻觉检测上达到 73% F1。

ExploraCoder: Advancing Code Generation for Multiple Unseen APIs via Planning and Chained Exploration

提出无需额外训练的 ExploraCoder 框架,通过任务规划将复杂多 API 编程问题分解为子任务,再通过链式 API 探索(CoAE)逐步实验并积累正确的 API 用法经验,在多 API 不可见库基准上 pass@10 绝对提升最高 17.28%。

FEA-Bench: A Benchmark for Evaluating Repository-Level Code Generation for Feature Implementation

提出 FEA-Bench——首个评估 LLM 在仓库级代码库中实现新特性(Feature Implementation)能力的基准,包含来自 83 个 GitHub 仓库的 1401 个任务实例,每个实例配有单元测试。最强模型 DeepSeek-R1 仅解决约 10% 的任务,揭示了仓库级增量开发对当前 LLM 的巨大挑战。

GALLa: Graph Aligned Large Language Models for Improved Source Code Understanding

提出 GALLa,通过 GNN 编码代码的 AST/DFG 结构图并用跨模态适配器对齐到 LLM 嵌入空间,在微调时作为辅助任务注入代码结构信息,推理时丢弃 GNN 和 adapter 实现零额外开销,在 5 个代码任务 × 7 个基线 LLM(350M-14B)上持续提升。

GiFT: Gibbs Fine-Tuning for Code Generation

提出 Gibbs Fine-Tuning(GiFT),受 Gibbs 采样启发,通过"代码→描述→代码"的迭代翻译从边际分布而非条件分布中采样自生成代码,结合困惑度引导的长尾数据选择,在 APPS+/MBPP+/CodeInsight 上比标准自训练提升最高 9.8%。

MLDebugging: Towards Benchmarking Code Debugging Across Multi-Library Scenarios

本文提出 MLDebugging——首个面向多库 Python 代码调试的综合基准,涵盖 126 个 Python 库和 7 种 bug 类型(共 1175 个样本),系统评估主流开源和闭源 LLM 在多库调试场景下的能力,发现当前 LLM 在此任务上仍有很大提升空间。

OASIS: Order-Augmented Strategy for Improved Code Search

提出OASIS方法,通过为负样本对引入基于序的相似度标签来捕捉代码语义中的细微差异,结合InfoNCE和CoSENT双重损失函数训练代码嵌入模型,在CoSQA、AdvTest和CodeSearchNet三个基准的NL2Code和Code2Code搜索任务上全面超越现有SOTA。

Personality-Guided Code Generation Using Large Language Models

用 GPT-4o 为每个编程任务动态生成适配的 MBTI 人格类型和详细描述,再让目标 LLM 以该人格角色扮演程序员生成代码,在 7 个 LLM × 4 个数据集的 28 个组合中 23 个取得 pass rate 提升,最高达 12.9%,关键因素是人格多样性而非某个特定人格。

Program Synthesis Benchmark for Visual Programming in XLogoOnline Environment

本文基于 XLogoOnline 视觉编程环境构建了一个需要空间规划、编程和逻辑推理等多技能组合的程序合成基准,发现 GPT-4V 仅能解决 20% 的任务,但通过 8 万+合成数据微调加上模拟器驱动的课程学习,Llama3-8B 大幅超越了 GPT-4V 和 Llama3-70B。

ReflectionCoder: Learning from Reflection Sequence for Enhanced One-off Code Generation

ReflectionCoder通过构建整合编译器反馈的"反思序列"(reflection sequence)数据,结合反思自蒸馏和动态掩码蒸馏两种训练策略,使模型在一次性代码生成中达到SOTA性能,无需运行时的多轮调试。

Rethinking Repetition Problems of LLMs in Code Generation

本文重新定义了代码生成中的重复问题,区分出比内容重复更普遍且更难处理的"结构性重复",并提出基于语法规则的重复惩罚解码方法RPG(Repetition Penalization based on Grammar),在新构建的CodeRepetEval和标准基准上大幅缓解重复问题。

Revisit Self-Debugging with Self-Generated Tests for Code Generation

系统性地研究了使用 LLM 自生成测试进行自调试(self-debugging)的效果,发现基于后执行信息的自调试在基础编程问题上反而降低性能(因自生成测试偏差),但基于执行中间状态(in-execution)的自调试可有效规避该偏差,在基础和竞赛题上均有提升。

SceneGenAgent: Precise Industrial Scene Generation with Coding Agent

提出 SceneGenAgent,一个基于 LLM 的代码生成 Agent,通过结构化布局规划、布局验证和迭代优化流程,利用 C# 代码精确生成工业场景,在真实工业任务上达到 81% 成功率,并构建 SceneInstruct 数据集使开源 LLM 接近 GPT-4o 水平。

TeXpert: A Multi-Level Benchmark for Evaluating LaTeX Code Generation by LLMs

提出TeXpert——首个系统评估LLM从自然语言指令生成科学文档LaTeX代码能力的多难度级别基准,包含440个高质量样本(Simple/Average/Hard三级),在9个开闭源LLM上的评估揭示了LaTeX生成是LLM的显著短板(Hard任务准确率普遍低于17.5%),逻辑错误和格式错误是主要瓶颈。

Tree-of-Code: A Tree-Structured Exploring Framework for End-to-End Code Generation

提出 Tree-of-Code(ToC)框架,通过树结构组织端到端的完整代码程序(CodeProgram)节点,结合基于执行结果的反思机制和提示/模型随机探索策略,在无需标注数据的零样本设置下,以不到 1/4 的交互轮次实现了比 CodeAct 高近 20% 的复杂任务准确率。

Tree-of-Evolution: Tree-Structured Instruction Evolution for Code Generation in Large Language Models

提出Tree-of-Evolution (ToE)——一种树结构代码指令合成框架,通过多路径进化和质量驱动优化克服Code Evol-Instruct和OSS-Instruct的单向合成与随机生成限制,仅用75K合成数据微调base model即可达到或超越Qwen2.5-Coder-Instruct(数百万样本微调)的性能。

UTBoost: Rigorous Evaluation of Coding Agents on SWE-Bench

本文提出 UTBoost 框架,通过基于 LLM 的测试用例生成器 UTGenerator 和改进的解析器来增强 SWE-Bench 的测试用例覆盖率,发现 36 个测试不充分的实例和 345 个被错误标记为通过的补丁,导致 SWE-Bench Lite 排行榜 40.9% 和 SWE-Bench Verified 24.4% 的排名发生变化。