[论文解读] Program Verification via Predicate Constraint Satisfiability Modulo Theories
本文提出了一种基于 $μ$CLP 的新型验证框架,$μ$CLP 是一种扩展了嵌套归纳与共归纳谓词的约束逻辑程序设计(CLP)语言,以及 $π$CSP$^{\Downarrow\lambda}$,即一类扩展了约束霍恩子句(CHCs)的广义谓词约束满足问题,支持任意子句、函数变量和良基性约束。该框架通过从 $μ$CLP 到 $π$CSP$^{\Downarrow\lambda}$ 的可靠且完备的约化,实现了对复杂验证任务(如终止性、非终止性以及全模态 $\mu$-演算模型检查)的表达,并利用分层的反例引导归纳合成(CEGIS)求解,实现了相对完备性与稳定的收敛性。
This paper presents a verification framework based on a new class of predicate Constraint Satisfaction Problems called pCSP where constraints are represented as clauses modulo first-order theories over function variables and predicate variables that may represent well-founded predicates. The verification framework generalizes an existing one based on Constrained Horn Clauses (CHCs) to arbitrary clauses, function variables, and well-foundedness constraints. While it is known that the satisfiability of CHCs and the validity of queries for Constrained Logic Programs (CLP) are inter-reducible, we show that, thanks to the added expressiveness, pCSP is expressive enough to express muCLP queries. muCLP itself is a new extension of CLP that we propose in this paper. It extends CLP with arbitrarily nested inductive and co-inductive predicates and is equi-expressive as first-order fixpoint logic. We show that muCLP can naturally encode a wide variety of verification problems including but not limited to termination/non-termination verification and even full modal mu-calculus model checking of programs written in various languages. To establish our verification framework, we present (1) a sound and complete reduction algorithm from muCLP to pCSP and (2) a constraint solving method for pCSP based on stratified CounterExample-Guided Inductive Synthesis (CEGIS) of (co-)inductive invariants, ranking functions, and Skolem functions witnessing existential quantifiers. Stratified CEGIS combines CEGIS with stratified families of templates to achieve relative completeness and faster and stable convergence of CEGIS by avoiding the overfitting problem. We have implemented the proposed framework and obtained promising results on diverse verification problems that are beyond the scope of the previous verification frameworks based on CHCs.
研究动机与目标
- 将基于 CHC 的验证框架推广至支持超越安全性和归纳类型以外的更广泛验证问题类别。
- 提出 $μ$CLP,作为 CLP 的新扩展,支持任意嵌套的归纳与共归纳谓词,以统一方式表达复杂验证任务。
- 开发从 $μ$CLP 到 $π$CSP$^{\Downarrow\lambda}$ 的可靠且完备的约化,使现有 CHC 求解技术可应用于更具表达力的问题。
- 设计一种针对 $π$CSP$^{\Downarrow\lambda}$ 的约束求解方法,通过分层 CEGIS 实现相对完备性与稳定收敛。
- 在超越传统 CHC 系统能力范围的多样化验证问题上,展示该框架的实际适用性。
提出的方法
- 提出 $μ$CLP 作为 CLP 的扩展,支持归纳与共归纳谓词的任意嵌套,其表达能力与一阶不动点逻辑等价。
- 引入 $π$CSP$^{\Downarrow\lambda}$ 作为 CHCs 的广义化形式,支持任意子句、函数变量和良基谓词变量。
- 开发从 $μ$CLP 查询到 $π$CSP$^{\Downarrow\lambda}$ 约束的可靠且完备的约化,通过谓词与函数变量的符号操作保持有效性。
- 采用分层反例引导归纳合成(CEGIS)方法,迭代地在分层模板族上合成不变式、排名函数与斯科伦函数。
- 利用验证检查中生成的不可满足核心来细化模板,避免对反例的过拟合,从而确保稳定且快速的收敛。
- 将现有 CHC 求解技术与基于模板的合成相结合,扩展其以处理非霍恩子句与高阶约束。
实验结果
研究问题
- RQ1广义谓词约束满足框架能否表达如终止性、非终止性以及全模态 $\mu$-演算模型检查等复杂验证问题?
- RQ2是否存在从 $μ$CLP 到 $π$CSP$^{\Downarrow\lambda}$ 的可靠且完备的约化,从而通过约束求解实现统一验证?
- RQ3分层 CEGIS 是否能在 $π$CSP$^{\Downarrow\lambda}$ 上实现相对完备性与稳定收敛,用于合成(共)归纳不变式与排名函数?
- RQ4所提出的框架是否可扩展至实际验证任务,超越标准 CHC 的表达能力?
- RQ5该框架能否扩展以支持更丰富的的一阶理论,如数组、堆内存与代数数据类型?
主要发现
- 该框架成功编码了广泛的验证问题,包括全模态 $\mu$-演算模型检查,这些问题是传统 CHC 基础系统无法处理的。
- 从 $μ$CLP 到 $π$CSP$^{\Downarrow\lambda}$ 的约化具有可靠性和完备性,确保了验证过程的正确性。
- 分层 CEGIS 通过分层模板族避免对反例的过拟合,实现了相对完备性,并带来更快、更稳定的收敛。
- 实现结果在多样化验证任务(包括终止性与非终止性分析)上表现良好,这些任务在仅使用 CHC 的框架中此前不可行。
- 该框架可扩展至更丰富的理论,如数组、堆内存与代数数据类型,未来工作将聚焦于支持高阶与概率性谓词。
- 整个 $π$CSP$^{\Downarrow\lambda}$ 类严格比 $μ$CLP 更具表达力,暗示其在当前验证需求之外具有进一步应用潜力。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。