论文标题

插值和基于SAT的模型检查重新访问:采用软件验证

Interpolation and SAT-Based Model Checking Revisited: Adoption to Software Verification

论文作者

Beyer, Dirk, Lee, Nian-Ze, Wendler, Philipp

论文摘要

文章“插值和基于SAT的模型检查”(McMillan,2003年)描述了一种正式的验证算法,该算法最初是为了验证有限国家过渡系统的安全性能。它从不满意的BMC查询中得出插值,并收集它们以构建一组可达状态的过度应用。尽管20岁,但该算法仍然是硬件模型检查中的最先进。与其他正式验证算法(例如K诱导或PDR)不同,这些算法已扩展以处理无限状态系统并进行了调查以进行程序分析,麦克米伦(McMillan)基于插值的模型检查算法从2003年开始尚未用于验证迄今为止的程序。我们的贡献是通过对软件验证采用算法来缩小知识的重大差距。我们在验证框架Cpachecker中实施了它,并根据C安全性验证任务的最大公开可用基准套件对其他最先进的软件验证技术进行了评估。评估表明,从2003年开始,麦克米伦(McMillan)基于插值的模型检查算法在其他算法中都具有竞争力,就解决的验证任务和运行时效率而言。我们的结果对于软件验证领域很重要,因为研究人员和开发人员现在还有另一种选择。

The article "Interpolation and SAT-Based Model Checking" (McMillan, 2003) describes a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. It derives interpolants from unsatisfiable BMC queries and collects them to construct an overapproximation of the set of reachable states. Although 20 years old, the algorithm is still state-of-the-art in hardware model checking. Unlike other formal-verification algorithms, such as k-induction or PDR, which have been extended to handle infinite-state systems and investigated for program analysis, McMillan's interpolation-based model-checking algorithm from 2003 has not been used to verify programs so far. Our contribution is to close this significant, two decades old gap in knowledge by adopting the algorithm to software verification. We implemented it in the verification framework CPAchecker and evaluated the implementation against other state-of-the-art software-verification techniques on the largest publicly available benchmark suite of C safety-verification tasks. The evaluation demonstrates that McMillan's interpolation-based model-checking algorithm from 2003 is competitive among other algorithms in terms of both the number of solved verification tasks and the run-time efficiency. Our results are important for the area of software verification, because researchers and developers now have one more approach to choose from.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源