arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2106.00732cs.PL
收藏

基于顺序模型检验的并发程序模块化验证

Modular Verification of Concurrent Programs via Sequential Model Checking

Dan Rasin, Orna Grumberg, Sharon Shoham

摘要:

这项工作利用了过多的工作验证顺序程序的目的,验证并发程序。我们减少了一个并发程序的验证一系列的顺序程序的验证任务。我们的方法是模块化的,在这个意义上,每个顺序的验证任务大致对应于一个线程的验证,与一些额外的信息,它在其中运行的环境。根据需要,在算法运行期间收集关于环境的信息。虽然我们的方法是通用的,它专门针对线程层次结构的并发程序。这个想法是利用层次结构,以最大限度地减少需要在线程之间传输的信息量。为此,我们验证的线程之一,认为“主”,作为一个顺序程序。它的验证过程向它的“环境”(可能包含多个线程)发起查询。如果环境由单个线程组成,则通过顺序验证来回答这些查询,否则,通过在环境上应用相同的分层算法来回答这些查询。我们的技术是全自动的,并允许我们使用任何现成的顺序模型检查器。我们实现了我们的技术在一个工具,称为CoMuS和评估它对建立并发验证工具。我们的实验表明,它的工作特别好的层次结构的程序。

英文摘要:

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs. Our approach is modular in the sense that each sequential verification task roughly corresponds to the verification of a single thread, with some additional information about the environment in which it operates. Information regarding the environment is gathered during the run of the algorithm, by need. While our approach is general, it specializes on concurrent programs where the threads are structured hierarchically. The idea is to exploit the hierarchy in order to minimize the amount of information that needs to be transferred between threads. To that end, we verify one of the threads, considered "main", as a sequential program. Its verification process initiates queries to its "environment" (which may contain multiple threads). Those queries are answered by sequential verification, if the environment consists of a single thread, or, otherwise, by applying the same hierarchical algorithm on the environment. Our technique is fully automatic, and allows us to use any off-the-shelf sequential model checker. We implemented our technique in a tool called CoMuS and evaluated it against established tools for concurrent verification. Our experiments show that it works particularly well on hierarchically structured programs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑