paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Incrementalizing Production CodeQL Analyses

生产级 CodeQL 分析的增量化解法
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 3/10 · 论文属于静态分析/程序分析工程,聚焦 CodeQL 生产分析的增量求解,与用户对静态分析落地和工程实现的部分兴趣相符;但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等用户核心交叉方向,因此匹配度有限。引用 25 inbox
Tamás Szabó
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:实证评估 CodeQL 生产分析的复用潜力,并实现可随代码改动规模伸缩的增量求解器原型。

这篇论文研究 CodeQL 这类生产级静态分析能否通过增量计算加速。传统增量分析先完整分析一次代码库,再根据代码变更更新旧结果;但复杂分析常含过程间和上下文敏感特性,可能抵消增量收益。作者首先在真实代码库上测量可复用性,验证增量化的潜力;随后为 CodeQL 实现原型增量求解器,利用已有分析结果处理变更。实验表明,更新耗时可与代码变更规模成正比,但原型仍存在局限。该工作为在 GitHub Pull Request 上提供自动反馈的静态分析工具探索了增量部署路径。

问题
生产级 CodeQL 静态分析通常需要全量重复分析,难以在 PR 等交互场景中快速反馈;研究问题是如何在保留过程间、上下文敏感等复杂特性的同时实现增量更新。
方法
作者先在真实代码库上实证测量分析结果的可复用潜力,再为 CodeQL 构建利用增量的原型求解器来处理代码变更。
评估
通过实验测量增量更新耗时与代码变更规模之间的关系,并讨论原型在真实生产分析场景中的局限性。
原文摘要(Abstract)

Instead of repeatedly re-analyzing from scratch, an incremental static analysis only analyzes a codebase once completely, and then it updates the previous results based on the code changes. While this sounds promising to achieve speed-ups, the reality is that sophisticated static analyses typically employ features that can ruin incremental performance, such as inter-procedurality or context-sensitivity. In this study, we set out to explore whether incrementalization can help to achieve speed-ups for production CodeQL analyses that provide automated feedback on pull requests on GitHub. We first empirically validate the idea by measuring the potential for reuse on real-world codebases, and then we create a prototype incremental solver for CodeQL that exploits incrementality. We report on experimental results showing that we can indeed achieve update times proportional to the size of the code change, and we also discuss the limitations of our prototype.

链接与引用

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

BibTeX
@inproceedings{abs-2308-09660,
  title = {Incrementalizing Production CodeQL Analyses},
  author = {Tamás Szabó},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3613860}
}