paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A programming model for semi-implicit parallelization of static analyses

面向静态分析半隐式并行化的编程模型
ISSTA Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis2020匹配度 3/10 · 该论文属于纯静态分析方向的工程/理论工作(半隐式并行化编程模型、IFDS 求解器),与用户画像中真正关注的 PL 与 AI/LLM 交叉点(Agentic 程序的静态分析、LLM 辅助分析、浮点或贝叶斯程序分析与 LLM 的结合)均无直接关联。不过它提供的可扩展静态分析基础设施在理论上可能对分析大型 ML/Agent 代码库有间接价值。引用 9 inbox
Dominik Helm, Florian Kübler, Jan Thomas Kölzer, Philipp Haller, Michael Eichberg, Guido Salvaneschi, Mira Mezini
crossref: 2026-09-12

AI 速览

一句话:提出受响应式编程启发的半隐式并行化编程模型,让分析开发者无需自行处理并发即可并行化静态分析。

静态分析的并行化对于扩展到真实程序是必要的,但这是一项复杂困难的任务,因此通常只针对少数重点分析手工完成。本文提出一种用于静态分析半隐式并行化的编程模型,其灵感来自响应式编程。该模型将“如何并行化分析”的领域专家知识编码在编程框架中复用,使开发者无需自行考虑并行化与并发问题。该编程模型支持有状态计算,仅要求格上的单调计算,并且不依赖于具体分析。评估表明该编程模型可适用于不同分析,并体现了用户选择调度策略的重要性。作者实现了一个 IFDS 求解器,其在绝对性能和可扩展性上均优于当前最先进的专用并行 IFDS 求解器。

问题
静态分析并行化对扩展到真实程序是必要的,但实现复杂困难,通常只能针对特定重点分析手工完成,缺乏通用且可复用的并行化支持。
方法
提出一种受响应式编程启发的半隐式并行化编程模型,将并行化领域知识封装在框架中;模型支持有状态计算,只要求格上的单调计算,且独立于具体分析。
评估
在不同静态分析上验证编程模型的适用性,并考察用户选择调度策略的重要性;实现 IFDS 求解器,与最先进的专用并行 IFDS 求解器在绝对性能和可扩展性上进行比较。
原文摘要(Abstract)

Parallelization of static analyses is necessary to scale to real-world programs, but it is a complex and difficult task and, therefore, often only done manually for selected high-profile analyses. In this paper, we propose a programming model for semi-implicit parallelization of static analyses which is inspired by reactive programming. Reusing the domain-expert knowledge on how to parallelize anal- yses encoded in the programming framework, developers do not need to think about parallelization and concurrency issues on their own. The programming model supports stateful computations, only requires monotonic computations over lattices, and is independent of specific analyses. Our evaluation shows the applicability of the programming model to different analyses and the importance of user-selected scheduling strategies. We implemented an IFDS solver that was able to outperform a state-of-the-art, specialized parallel IFDS solver both in absolute performance and scalability.

链接与引用

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

BibTeX
@inproceedings{paperbot6046,
  title = {A programming model for semi-implicit parallelization of static analyses},
  author = {Dominik Helm and Florian Kübler and Jan Thomas Kölzer and Philipp Haller and Michael Eichberg and Guido Salvaneschi and Mira Mezini},
  booktitle = {ISSTA},
  year = {2020},
  doi = {10.1145/3395363.3397367}
}