Skip to main content
QUICK REVIEW

[论文解读] Disjunctive Interpolants for Horn-Clause Verification (Extended Technical Report)

Philipp Rümmer, Hossein Hojjat|arXiv (Cornell University)|Jan 21, 2013
Formal Methods in Verification参考文献 15被引用 3
一句话总结

本文提出了一种新型的Craig插值形式——析取插值(disjunctive interpolation),它通过在插值树中引入析取分支,推广了树形插值和归纳序列,从而实现了更广泛的表达能力。该文提出了构造析取插值的算法,证明了无递归Horn子句在整数线性逻辑下的紧致复杂度界限(co-NEXPTIME),并通过实验表明,与树形插值相比,析取插值能减少抽象-精化步骤,尽管在谓词生成时间上存在权衡。

ABSTRACT

One of the main challenges in software verification is efficient and precise compositional analysis of programs with procedures and loops. Interpolation methods remain one of the most promising techniques for such verification, and are closely related to solving Horn clause constraints. We introduce a new notion of interpolation, disjunctive interpolation, which solve a more general class of problems in one step compared to previous notions of interpolants, such as tree interpolants or inductive sequences of interpolants. We present algorithms and complexity for construction of disjunctive interpolants, as well as their use within an abstraction-refinement loop. We have implemented Horn clause verification algorithms that use disjunctive interpolants and evaluate them on benchmarks expressed as Horn clauses over the theory of integer linear arithmetic.

研究动机与目标

  • 解决使用基于插值的抽象-精化方法对含循环和过程的程序进行高效且精确的组合式验证的挑战。
  • 通过引入一种更具表达力的析取形式,克服先前插值形式(如树形插值和归纳序列)的局限性,以同时处理多个反例。
  • 设计高效算法以构造析取插值,并建立其相对于无递归Horn子句求解的计算复杂度。
  • 通过NTS库中的基准测试与HSF及树形插值的对比,展示析取插值在减少模型检测中抽象-精化步骤方面的实际优势。
  • 通过使用析取插值进行反例驱动的谓词抽象,实现对递归Horn子句的验证。

提出的方法

  • 将析取插值定义为树形插值的推广形式,其中插值树的分支节点可同时包含合取与析取。
  • 将析取插值问题归约为一类无递归Horn子句的子集,从而可复用现有的Horn子句求解器。
  • 证明在命题逻辑上求解无递归Horn子句为PSPACE完全,在整数线性逻辑上为co-NEXPTIME完全。
  • 证明在这些逻辑中,析取插值问题仍处于co-NP,相较于完整Horn子句求解具有复杂度优势。
  • 将析取插值集成到递归Horn子句的抽象-精化循环中,结合反例提取与谓词生成。
  • 在原型系统中实现该方法,并在NTS库的基准测试上进行评估,涵盖递归算法、链表、VHDL电路和数组程序。

实验结果

研究问题

  • RQ1能否定义一种新的插值形式,通过在插值树中允许析取分支,从而推广树形插值和归纳序列?
  • RQ2在整数线性逻辑上,求解析取插值问题和无递归Horn子句问题的计算复杂度是多少?
  • RQ3与树形插值相比,析取插值是否能减少模型检测中的抽象-精化步骤?
  • RQ4在标准Horn子句基准测试中,析取插值与HSF等先进工具相比性能如何?
  • RQ5在精化效率方面,生成插值所花费的时间与生成谓词的质量之间是否存在实际权衡?

主要发现

  • 析取插值包含了树形插值和归纳序列插值,且表达能力更强,能够同时处理多个反例。
  • 在命题逻辑中,析取插值问题处于co-NP,而在整数线性逻辑中处于co-NEXPTIME;而求解无递归Horn子句在命题逻辑中为PSPACE完全,在整数线性逻辑中为co-NEXPTIME完全。
  • 实验表明,与树形插值相比,析取插值始终能减少抽象-精化步骤,表明其生成的谓词质量更优。
  • 尽管精化步骤更少,析取插值平均耗时42%用于谓词生成,高于树形插值的31%,导致在部分基准测试中整体性能更慢。
  • 该方法成功验证了HSF无法处理的含模运算的基准,证明了其更广的应用范围。
  • 在大型基准上,HSF仍快于原型系统,但性能差距缩小,表明通过进一步优化具有提升潜力。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。