论文标题
有限的模型检查无界客户端服务器系统
Bounded Model Checking for Unbounded Client Server Systems
论文作者
论文摘要
有限的模型检查(BMC)是一种有效的形式验证技术,它允许在系统的抽象模型的有限运行中检查软件系统所需的属性。这些属性经常在某些时间逻辑中描述,并且该系统被建模为状态过渡系统。在本文中,我们提出了一种新颖的计数逻辑,即$ \ mathcal {l} _ {c} $,以描述具有无限数量客户端的客户端服务器系统的时间属性。我们还建议使用两个可区分的参数,一个用于执行步骤,另一个用于代表客户端服务器系统的网络中的代币数量,这两个分别演变,这两个与petri nets nets nets nets nets形式上的标准BMC技术不同。这种$ 2D $ -BMC的策略是在名为DCModelChecker的工具中实施的,该工具利用了$ 2D $ -BMC技术,并具有最先进的满意度模式理论(SMT)求解器Z3。该系统作为培养皿网给出,并使用$ \ mathcal {l} _ {c} $指定的属性被编码为求解器检查的公式。我们的工具还可以从模型检查比赛(MCC)的工业基准进行工作。我们报告了这些实验,以说明$ 2D $ -BMC策略的适用性。
Bounded model checking (BMC) is an efficient formal verification technique which allows for desired properties of a software system to be checked on bounded runs of an abstract model of the system. The properties are frequently described in some temporal logic and the system is modeled as a state transition system. In this paper we propose a novel counting logic, $\mathcal{L}_{C}$, to describe the temporal properties of client-server systems with an unbounded number of clients. We also propose two dimensional bounded model checking ($2D$-BMC) strategy that uses two distinguishable parameters, one for execution steps and another for the number of tokens in the net representing a client-server system, and these two evolve separately, which is different from the standard BMC techniques in the Petri Nets formalism. This $2D$-BMC strategy is implemented in a tool called DCModelChecker which leverages the $2D$-BMC technique with a state-of-the-art satisfiability modulo theories (SMT) solver Z3. The system is given as a Petri Net and properties specified using $\mathcal{L}_{C}$ are encoded into formulas that are checked by the solver. Our tool can also work on industrial benchmarks from the Model Checking Contest (MCC). We report on these experiments to illustrate the applicability of the $2D$-BMC strategy.