教程:约束Horn子句的科学、艺术和魔法

约束Horn子句的科学、艺术与魔力

Arie Gurfinkel(加拿大滑铁卢大学)和Nikolaj Bjorner(美国微软研究院)

摘要

约束Horn子句(CHC)是一阶逻辑模约束的一个片段,它捕获了许多程序验证问题作为约束求解。顺序程序的安全性验证、并发程序的模块化验证、参数验证和同步转换系统的模块化检验都是CHC算法和数组模理论的可满足性问题。

当然,CHC的可满足性是不可判定的。因此,解决这些问题是科学、艺术和魔法的结合。在本教程中,我们将探讨这个问题的几个方面。我们将说明如何将不同的问题转换为CHC。提出一个称为Spacer的框架,该框架将符号求解Horn子句简化为多个更简单的可满足性模理论(SMT)查询。最后,我们描述了使该框架成为现实所必需的SMT方面的进展。