paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Integrating Static Analysis with Learning-Based Systems for Automated Code Review

将静态分析与基于学习的系统集成用于自动化代码审查
FSE Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering2026匹配度 6/10 · 论文在 LLM 流水线中集成静态分析,与“PL→AI:在机器学习/LLM系统中应用静态分析”有交叉,且关注工业级代码审查任务;但其核心是自动代码审查,而非 Agentic 程序分析、形式化验证或浮点/贝叶斯程序分析,因此匹配度中等。引用 0 inbox
Imen Jaoua
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出融合静态分析结构化知识与学习型模型的混合方法,在多种LLM流水线阶段集成,提升自动代码审查的准确率与覆盖率。

代码审查在软件开发中至关重要,但复杂、主观且耗时。早期自动化依赖知识型系统(KBS),能提供精确的规则驱动反馈,却难以处理复杂且依赖上下文的问题;近期基于学习的系统(LBS),尤其是微调预训练语言模型,覆盖面更广但常常牺牲精度。本提案提出一种混合方法,将结构化的外部知识(静态分析结果)与LBS相结合,以生成准确且全面的代码审查意见。作者在大型语言模型(LLM)流水线的不同阶段探索了多种集成策略,并在真实数据集上与独立的KBS和LBS基线进行对比评估。结果表明,该方法在准确率和覆盖率上均取得了一致提升。

问题
代码审查复杂、主观且耗时;知识型系统反馈精确但难以应对复杂上下文,学习型系统覆盖广但精度不足。
方法
将静态分析提供的结构化外部知识与基于学习(微调预训练语言模型/LLM)的系统集成,在LLM流水线的不同阶段探索多种融合策略。
评估
在真实数据集上与独立的KBS和LBS基线进行对比实验,结果显示在准确率和覆盖率两方面均有持续改进。
原文摘要(Abstract)

Code review is a crucial but often complex, subjective, and time-consuming task in software development. Early automation efforts relied on knowledge-based systems (KBS), which offer precise rule-driven feedback but are limited in handling complex, context-dependent issues. More recent approaches have focused on learning-based systems (LBS), particularly fine-tuned pre-trained language models, enabling broader issue coverage but frequently sacrificing precision. In this proposal, we introduce a hybrid approach that integrates structured external knowledge with LBS to generate accurate and comprehensive code reviews. We explore multiple integration strategies at different stages of the large language model (LLM) pipeline and evaluate them against standalone KBS and LBS baselines on a real-world dataset. Our results show consistent improvements in both accuracy and coverage.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{Jaoua26,
  title = {Integrating Static Analysis with Learning-Based Systems for Automated Code Review},
  author = {Imen Jaoua},
  booktitle = {FSE},
  year = {2026},
  doi = {10.1145/3803437.3804441}
}