Solving constrained Horn clauses modulo algebraic data types and recursive functions

Author:

K Hari Govind V1ORCID,Shoham Sharon2ORCID,Gurfinkel Arie1ORCID

Affiliation:

1. University of Waterloo, Canada

2. Tel Aviv University, Israel

Abstract

This work addresses the problem of verifying imperative programs that manipulate data structures, e.g., Rust programs. Data structures are usually modeled by Algebraic Data Types (ADTs) in verification conditions. Inductive invariants of such programs often require recursively defined functions (RDFs) to represent abstractions of data structures. From the logic perspective, this reduces to solving Constrained Horn Clauses (CHCs) modulo both ADT and RDF. The underlying logic with RDFs is undecidable. Thus, even verifying a candidate inductive invariant is undecidable. Similarly, IC3-based algorithms for solving CHCs lose their progress guarantee: they may not find counterexamples when the program is unsafe. We propose a novel IC3-inspired algorithm Racer for solving CHCs modulo ADT and RDF (i.e., automatically synthesizing inductive invariants, as opposed to only verifying them as is done in deductive verification). Racer ensures progress despite the undecidability of the underlying theory, and is guaranteed to terminate with a counterexample for unsafe programs. It works with a general class of RDFs over ADTs called catamorphisms. The key idea is to represent catamorphisms as both CHCs, via relationification , and RDFs, using novel abstractions . Encoding catamorphisms as CHCs allows learning inductive properties of catamorphisms, as well as preserving unsatisfiabilty of the original CHCs despite the use of RDF abstractions, whereas encoding catamorphisms as RDFs allows unfolding the recursive definition, and relying on it in solutions. Abstractions ensure that the underlying theory remains decidable. We implement our approach in Z3 and show that it works well in practice.

Funder

United States - Israel Binational Science Foundation

Israel Science Foundation

European Research Council

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference38 articles.

1. Lazy Abstraction with Interpolants for Arrays

2. Computing with an SMT Solver

3. Clark Barrett , Pascal Fontaine , and Cesare Tinelli . 2017. The SMT-LIB Standard: Version 2.6. Department of Computer Science , The University of Iowa . Available at www.SMT-LIB.org. Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2017. The SMT-LIB Standard: Version 2.6. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org.

4. An Abstract Decision Procedure for a Theory of Inductive Data Types

5. Horn Clause Solvers for Program Verification

Cited by 13 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Proving Functional Program Equivalence via Directed Lemma Synthesis;Lecture Notes in Computer Science;2024-09-11

2. Superfusion: Eliminating Intermediate Data Structures via Inductive Synthesis;Proceedings of the ACM on Programming Languages;2024-06-20

3. Model Refinement: Generating Refinements for Algorithm and System Design;Lecture Notes in Computer Science;2024

4. Solving Constrained Horn Clauses over Algebraic Data Types;Lecture Notes in Computer Science;2023

5. Satisfiability Modulo Custom Theories in Z3;Lecture Notes in Computer Science;2023

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3