arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1003.3830cs.LOcs.SE
收藏

基于SMT求解器的多线程软件有界模型检验

Bounded Model Checking of Multi-threaded Software using SMT solvers

Lucas Cordeiro, Bernd Fischer

摘要:

从单核处理器到多核处理器的过渡使得多线程软件成为计算机辅助验证的一个重要课题。在这里,我们描述和评估的ESBMC模型检查器的扩展,以支持验证多线程软件共享的变量和锁使用有界模型检验(BMC)的基础上可满足性模理论(SMT)。我们描述了三种方法来模型检查多线程软件和我们的建模的同步原语的Pthread库。在惰性方法中,我们生成所有可能的交织,并分别对每个交织调用BMC过程,直到我们找到一个bug,或者系统地探索了所有交织。在时间表记录方法中,我们将所有可能的交织编码成一个单一的公式,然后利用SMT求解器的高速。在欠近似加宽方法中,我们通过从SMT求解器生成的不可满足性证明中提取状态变量和交织的数量来减少状态空间。在所有这三种方法中,我们都使用了部分降阶(POR)技术来减少交织的数量。实验表明,我们的方法可以分析更大的问题,并大大减少验证时间相比,国家的最先进的技术,结合经典的POR方法与符号算法和其他实现反例引导抽象细化技术。

英文摘要:

The transition from single-core to multi-core processors has made multi-threaded software an important subject in computer aided verification. Here, we describe and evaluate an extension of the ESBMC model checker to support the verification of multi-threaded software with shared variables and locks using bounded model checking (BMC) based on Satisfiability Modulo Theories (SMT). We describe three approaches to model check multi-threaded software and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the BMC procedure on each of them individually, until we either find a bug, or have systematically explored all interleavings. In the schedule recording approach, we encode all possible interleavings into one single formula and then exploit the high speed of the SMT solvers. In the underapproximation-widening approach, we reduce the state space by abstracting the number of state variables and interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we use partial-order reduction (POR) techniques to reduce the number of interleavings explored. Experiments show that our approaches can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that combine classic POR methods with symbolic algorithms and others that implement the Counter-Example Guided Abstraction Refinement technique.

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

↑