paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Lifting Datalog-based analyses to software product lines

将基于 Datalog 的分析提升到软件产品线
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 4/10 · 论文属于静态程序分析与 Datalog 推理,具备理论形式化和 Soufflé 工程实现,可能对静态分析基础设施有参考价值;但它针对 Software Product Lines 的 lifting,与用户核心关注的 AI/LLM 交叉、浮点程序分析或贝叶斯程序分析均无直接关系,也不涉及 Agentic 程序或 ML 系统。引用 20 inbox
Ramy Shahin, Marsha Chechik, Rick Salay
crossref: 2026-09-12

AI 速览

一句话:研究 Datalog 推理的 lifting 理论,并在 Soufflé 引擎中实现,将分析从单个产品提升到整个产品线。

软件产品线(SPL)上的程序分析是产品线工程与软件分析交叉的核心问题,已有工作尝试将特定产品级分析“提升”到整个产品线运行。本文针对基于 Datalog 的分析(如指针分析与污点分析),研究 Datalog 推理提升的理论性质,并在 Soufflé Datalog 引擎中实现了一个提升推理算法,使其能直接在整个产品线上执行分析。作者在一组基准产品线上进行了评估,与对每个产品逐一暴力分析相比,该方法在处理时间和事实数据库规模上均取得显著节省,在其中一个基准上速度提升达数十亿倍。

问题
如何将基于 Datalog 的程序分析(如指针、污点分析)从单个产品提升到整个软件产品线,避免对每个产品逐一分析。
方法
研究 Datalog 推理提升的理论性质,并在 Soufflé Datalog 引擎中实现提升推理算法,使其直接在整个产品线上求解。
评估
在一组基准产品线上评估实现,与逐一暴力分析每个产品对比处理时间与事实数据库规模。
原文摘要(Abstract)

Applying program analyses to Software Product Lines (SPLs) has been a fundamental research problem at the intersection of Product Line Engineering and software analysis. Different attempts have been made to ”lift” particular product-level analyses to run on the entire product line. In this paper, we tackle the class of Datalog-based analyses (e.g., pointer and taint analyses), study the theoretical aspects of lifting Datalog inference, and implement a lifted inference algorithm inside the Soufflé Datalog engine. We evaluate our implementation on a set of benchmark product lines. We show significant savings in processing time and fact database size (billions of times faster on one of the benchmarks) compared to brute-force analysis of each product individually.

链接与引用

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

BibTeX
@inproceedings{paperbot5169,
  title = {Lifting Datalog-based analyses to software product lines},
  author = {Ramy Shahin and Marsha Chechik and Rick Salay},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3338928}
}