×

通过转换验证条件来验证数组程序。 (英语) Zbl 1428.68182号

McMillan,Kenneth L.(编辑)等人,《验证、模型检查和抽象解释》。第15届国际会议,VMCAI 2014,美国加利福尼亚州圣地亚哥,2014年1月19日至21日。诉讼程序。柏林:斯普林格。莱克特。注释计算。科学。8318, 182-202 (2014).
摘要:我们提出了一种方法,用于验证操作整数数组的命令式程序的属性。我们假设我们得到了一个要验证的程序和属性。程序的解释器(即操作语义)被指定为整数数组域中具有约束的一组Horn子句,也称为整数数组上的约束逻辑程序,表示为CLP(数组)。然后,通过针对给定的程序和属性专门化解释器,我们生成一组验证条件(表示为CLP(数组)程序),其可满足性意味着程序验证给定的属性。我们的验证方法基于保持CLP(数组)程序最小模型语义的转换,因此验证条件是可满足的。特别是,我们应用了CLP转换的常见规则,例如展开、折叠和约束替换,这些规则是根据整数数组的特定领域定制的。我们提出了一种自动策略,用于指导这些规则的应用,目的是导出一组新的验证条件,这些条件要么是可以满足的(因为它不包含约束事实),要么是不可满足的(由于它包含false事实)。我们的方法提供了一个非常丰富的程序验证框架,在这个框架中,可以将几个验证策略组合在一起,每个策略都通过CLP(数组)程序的转换来实现。
关于整个系列,请参见[Zbl 1298.68031号]。

MSC公司:

60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部