paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Domain-independent multi-threaded software model checking

领域无关的多线程软件模型检测
ASE Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering2018匹配度 3/10 · 论文属于软件模型检测/程序分析与形式化验证,与用户画像中“静态分析/形式化验证”大方向有弱关联;但其核心是并行化块抽象记忆化,不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析等用户重点关注交叉方向。引用 11 inbox
Dirk Beyer, Karlheinz Friedberger
crossref: 2026-09-12

AI 速览

一句话:将块抽象记忆化中控制流块摘要的计算并行化,实现领域无关的多线程软件模型检测并获显著加速。

随着多核处理器的普及,软件分析亟需利用并行计算资源,但许多程序分析方法在设计之初并未考虑多线程执行,重新改写既有算法既困难又易错,而直接以每个后继状态为粒度并行又过于细碎。本文针对这一问题提出了一种优雅的方案:并行计算块摘要。作者以基于摘要的程序分析中成功的块抽象记忆化(block-abstraction memoization)为基础,从其原始递归定义出发重新设计了验证流程,使其能够在多核共享内存机器上并行执行,同时保持对具体抽象域的独立性。实现与实验评估表明,该基于摘要的并行方法相比原有串行方法没有显著额外开销,并在使用多线程时取得了明显的加速比。

问题
现有软件模型检测/程序分析算法多未针对多线程执行设计,难以利用多核资源,而改写为并行算法困难且选择何种并行粒度仍是开放问题。
方法
从块抽象记忆化的递归定义出发重新设计验证算法,将控制流块摘要的计算作为并行执行的结构层次,从而在多核共享内存机器上并行运行,且不依赖特定抽象域。
评估
实现于多核共享内存机器,并与原有串行方法对比;实验显示无显著额外开销,多线程下获得显著加速。
原文摘要(Abstract)

Recent development of software aims at massively parallel execution, because of the trend to increase the number of processing units per CPU socket. But many approaches for program analysis are not designed to benefit from a multi-threaded execution and lack support to utilize multi-core computers. Rewriting existing algorithms is difficult and error-prone, and the design of new parallel algorithms also has limitations. An orthogonal problem is the granularity: computing each successor state in parallel seems too fine-grained, so the open question is to find the right structural level for parallel execution. We propose an elegant solution to these problems: Block summaries should be computed in parallel. Many successful approaches to software verification are based on summaries of control-flow blocks, large blocks, or function bodies. Block-abstraction memoization is a successful domain-independent approach for summary-based program analysis. We redesigned the verification approach of block-abstraction memoization starting from its original recursive definition, such that it can run in a parallel manner for utilizing the available computation resources without losing its advantages of being independent from a certain abstract domain. We present an implementation of our new approach for multi-core shared-memory machines. The experimental evaluation shows that our summary-based approach has no significant overhead compared to the existing sequential approach and that it has a significant speedup when using multi-threading.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4781,
  title = {Domain-independent multi-threaded software model checking},
  author = {Dirk Beyer and Karlheinz Friedberger},
  booktitle = {ASE},
  year = {2018},
  doi = {10.1145/3238147.3238195}
}