毒蛇

Viper:基于权限推理的验证基础设施。基于一阶逻辑规范的验证技术的自动化从诸如Boogie和Why这样的验证基础设施中受益匪浅。它们提供了一种中间语言,可以表达不同的语言特性和验证技术,以及后端工具:特别是验证条件生成器。然而,这些基于逻辑验证的基础设施和工具往往不支持基于符号的验证和执行,因为它们不太适合于直接的逻辑验证。因此,对这些逻辑(如果可用)的工具支持通常是针对每种技术独立开发的,这大大增加了开发基于权限的验证的自动工具的负担。在本文中,我们提出了一个验证架构,它的中间语言支持一个表达式的权限模型。我们提供的工具支持包括两个后端验证器:一个基于符号执行,一个基于验证条件生成;一个基于抽象解释的推理工具目前正在开发中。通过这个基础设施可以实现广泛的现有验证技术,减轻了构建基于权限的验证器的大部分负担,并允许高级推理技术的开发人员将精力集中在适当的抽象级别上。