paperbot · PL 论文追踪

全部论文 待读 收藏

P2 PCA: memory leak detection using partial call-path analysis

PCA:使用部分调用路径分析的内存泄漏检测
FSE Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2020匹配度 2/10 · 该论文属于传统 C 程序静态分析(跨过程数据依赖与内存泄漏检测),与用户核心关注的 PL→AI/AI→PL、Agentic 程序、浮点程序分析和贝叶斯程序分析均无直接交叉;仅在“程序分析与工业落地”这一宽泛层面相关。引用 35 inbox
Wen Li, Haipeng Cai, Yulei Sui, David Manz
crossref: 2026-09-12

AI 速览

一句话:PCA 通过部分调用路径分析实现可扩展的跨过程数据依赖计算,并用于 C 程序内存泄漏检测。

跨过程数据依赖分析是众多软件质量保障任务的基础,但现有框架与工具在真实程序上普遍面临可扩展性瓶颈。本文提出 PCA,一个面向真实 C 程序的静态跨过程数据依赖分析器。PCA 采用轻量级设计完成跨过程指向分析与数据流分析,其核心是部分调用路径(partial call-path,PCA)分析,并提供若干优化选项以进一步加速数据依赖计算。作为该分析的一个应用实例,PCA 可直接支持内存泄漏检测。在与基于最先进值流分析(value flow analysis)的同类应用对比中,PCA 取得了相当甚至更好的性能与精度,并在一个工业级系统中额外发现了 4 个内存泄漏,且均已被开发者修复。此外,PCA 计算出的数据依赖还可支撑影响分析与污点分析等其他应用。

问题
现有跨过程数据依赖分析框架在真实 C 程序上难以同时兼顾可扩展性与分析精度。
方法
PCA 以轻量级方式执行跨过程指向分析与数据流分析,并引入部分调用路径分析及配套优化选项来加速数据依赖计算。
评估
以内存泄漏检测为应用,与基于最先进值流分析的方法对比性能与精度,并在工业级系统中检验实际缺陷发现能力。
原文摘要(Abstract)

Data dependence analysis underlies various applications in software quality assurance, yet existing frameworks/tools for this analysis commonly suffer scalability challenges. We present PCA, a static interprocedural data dependence analyzer for real-world C programs. PCA performs interprocedural points-to and data-flow analyses with a lightweight design. Most of all, it features a partial call-path (PCA) analysis that consists of optimization options to further speed up data dependence computation. As an example application of it, PCA readily supports memory leak detection, for which it helps achieve close or better performance and precision relative to the same application based on a state-of-the-art value flow analysis. In particular, it found four more memory leaks in an industry-scale system which have been fixed by the developers. Through the data dependence it computes, PCA can enable other applications (e.g., impact analysis and taint analysis).

链接与引用

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

BibTeX
@inproceedings{paperbot5744,
  title = {PCA: memory leak detection using partial call-path analysis},
  author = {Wen Li and Haipeng Cai and Yulei Sui and David Manz},
  booktitle = {FSE},
  year = {2020},
  doi = {10.1145/3368089.3417923}
}