Verifying Catamorphism-Based Contracts using Constrained Horn Clauses

نویسندگان

چکیده

We address the problem of verifying that functions a program meet their contracts, specified by pre/postconditions. follow an approach based on constrained Horn clauses (CHCs) which verification is reduced to checking satisfiability set derived from given and contracts. consider programs manipulate algebraic data types (ADTs) class contracts catamorphisms, is, defined simple recursion schemata ADTs. show several examples state-of-the-art CHC tools are not effective at solving problems obtained direct translation into CHCs. To overcome this difficulty, we propose transformation technique removes ADT terms CHCs derives new sets work basic sorts only, such as integers booleans. Thus, when using there no need for induction rules prove sound, if satisfiable, then so original set. also always terminates catamorphisms. Finally, present experimental results implementation our many non-trivial manipulating programs.

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verifying Relational Program Properties by Transforming Constrained Horn clauses

We present a method for verifying relational program properties, that is, properties that relate the input and the output of two programs. Our verification method is parametric with respect to the definition of the semantics of the programming language in which the programs are written. That definition consists of a set Int of constrained Horn clauses (CHC) that encode the interpreter of the pr...

متن کامل

Synchronizing Constrained Horn Clauses

Simultaneous occurrences of multiple recurrence relations in a system of non-linear constrained Horn clauses are crucial for proving its satisfiability. A solution of such system is often inexpressible in the constraint language. We propose to synchronize recurrent computations, thus increasing the chances for a solution to be found. We introduce a notion of CHC product allowing to formulate a ...

متن کامل

Solving Constrained Horn Clauses using Interpolation

We present an interpolation-based method for symbolically solving systems of constrained Horn clauses. The method can be used to solve for unknown predicates in the verification conditions of programs. Thus, it has a variety of applications, including including model checking of recursive and threaded programs. The method is implemented in tool called Duality, which we evaluate using device dri...

متن کامل

Solving Constrained Horn Clauses Using Dependence-Disjoint Expansions

Recursion-free Constrained Horn Clauses (CHCs) are logicprogramming problems that formulate verifying safety of programs with bounded iteration and recursion. They both formulate bounded verification problems and are generated by solvers that attempt to verify safety of unbounded iterative or recursive systems. Efficient solvers of recursion-free systems reduce the problem to solving a series o...

متن کامل

Verification of Time-Aware Business Processes Using Constrained Horn Clauses

We present a method for verifying properties of time-aware business processes, that is, business process where time constraints on the activities are explicitly taken into account. Business processes are specified using an extension of the Business Process Modeling Notation (BPMN) and durations are defined by constraints over integer numbers. The definition of the operational semantics is given...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Theory and Practice of Logic Programming

سال: 2022

ISSN: ['1471-0684', '1475-3081']

DOI: https://doi.org/10.1017/s1471068422000175