Skip to main content
QUICK REVIEW

[论文解读] Control Explicit---Data Symbolic Model Checking: An Introduction

Jǐŕı Barnat, Petr Bauch|arXiv (Cornell University)|Mar 29, 2013
Formal Methods in Verification参考文献 19被引用 4
一句话总结

本文提出控制显式—数据符号化模型检测,一种混合方法,将控制流的显式状态表示与数据流的符号集合表示相结合,以实现对具有开放变量的并发系统的可扩展验证。通过符号化编码输入变量范围,该方法显著提升了可扩展性——在相同硬件上,输入范围支持达10,000,而纯显式方法仅能处理至140,证明在验证Peterson协议等协议的时序性质方面效率大幅提升。

ABSTRACT

A comprehensive verification of parallel software imposes three crucial requirements on the procedure that implements it. Apart from accepting real code as program input and temporal formulae as specification input, the verification should be exhaustive, with respect to both control and data flows. This paper is concerned with the third requirement, proposing to combine explicit model checking to handle the control with symbolic set representations to handle the data. The combination of explicit and symbolic approaches is first investigated theoretically and we report the requirements on the symbolic representation and the changes to the model checking process the combination entails. The feasibility and efficiency of the combination is demonstrated on a case study using the DVE modelling language and we report a marked improvement in scalability compared to previous solutions. The results described in this paper show the potential to meet all three requirements for automatic verification in a single procedure combining explicit model checking with symbolic set representations.

研究动机与目标

  • 解决纯显式模型检测在验证具有开放输入变量的并发系统时的可扩展性限制。
  • 实现对并行软件中控制流与数据流的全面验证,满足工业验证需求。
  • 统一符号执行处理开放系统的能力与模型检查验证时序性质的能力。
  • 证明在保持控制显式的同时对数据进行符号化表示,可显著提升相对于纯显式方法的可扩展性。

提出的方法

  • 使用基本的基于集合的符号表示法对数据状态进行符号化表示,同时对控制流保持显式状态表示。
  • 修改模型检查过程,通过单次操作对所有可能的输入变量组合评估符号表达式,生成后继状态。
  • 在现有显式模型检查器(DiVinE)中以最小改动集成符号化数据处理机制,不修改核心验证引擎。
  • 采用上下文感知的评估机制,在表达式评估期间将所有未定义的变量组合加载到符号上下文中。
  • 无需修改即可将并行环检测算法(如OWCTY)应用于混合状态空间,保持性能优化。
  • 实现一种后继状态生成机制,仅在符号守卫满足可满足性时检查并生成新的符号多状态。

实验结果

研究问题

  • RQ1符号化表示数据变量是否能提升显式模型检查在具有开放输入的并发系统中的可扩展性?
  • RQ2将显式控制流与符号化数据流结合,对模型检查的性能和内存使用有何影响?
  • RQ3符号化表示需要满足哪些必要条件,以支持混合模型检查中的时序性质验证?
  • RQ4与纯显式模型检查相比,该混合方法在真实世界并发协议上的可扩展性达到何种程度?
  • RQ5该方法能否在输入域有界但较大的系统中,支持对活锁和安全性质的精确验证?

主要发现

  • 该混合方法可扩展至高达10,000的输入范围,而相同硬件上纯显式方法仅能处理至140的范围。
  • 在32个并行线程下,显式方法验证范围为0–140的单个变量耗时接近100秒,而符号化方法在相近空间复杂度下实现了更大的范围。
  • 符号化方法在实践中对数据变量实现了对数级的约束,有效将可行输入范围扩大了数量级。
  • 该方法保持了与DiVinE中现有并行验证算法和数据结构的兼容性,仅需极少代码修改。
  • 符号化数据表示将状态空间爆炸从数据变量的指数级增长,转化为可管理的符号形式,使更大规模系统的验证成为可能。
  • 结果表明,即使采用基本的符号表示,该混合方法在Peterson协议的活锁验证中,无论时间效率还是空间效率,均显著优于纯显式模型检查。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。