Abstract

We consider the decidability of the verification problem of programs modulo axioms — automatically verifying whether programs satisfy their assertions, when the function and relation symbols are interpreted as arbitrary functions and relations that satisfy a set of first-order axioms. Though verification of uninterpreted programs (with no axioms) is already undecidable, a recent work introduced a subclass of coherent uninterpreted programs, and showed that they admit decidable verification [26]. We undertake a systematic study of various natural axioms for relations and functions, and study the decidability of the coherent verification problem. Axioms include relations being reflexive, symmetric, transitive, or total order relations, functions restricted to being associative, idempotent or commutative, and combinations of such axioms as well. Our comprehensive results unearth a rich landscape that shows that though several axiom classes admit decidability for coherent programs, coherence is not a panacea as several others continue to be undecidable.

Highlights

  • Programs are proved correct against safety specifications typically by induction— the induction hypothesis is specified using inductive invariants of the program, and one proves that the reachable states of the program stays within the region defined by the invariants, inductively

  • We show that combinations of reflexivity, irreflexivity, symmetry, and transitivity, admit a decidable verification problem for coherent program

  • We observe that in the absence of any assumes of the form ¬R(x, y) the verification problem modulo strict total orders reduces that modulo strict partial orders, giving us the following (ARSTO denote the axioms of irreflexivity, transitivty and totality for the relation R)

Read more

Summary

Introduction

Programs are proved correct against safety specifications typically by induction— the induction hypothesis is specified using inductive invariants of the program, and one proves that the reachable states of the program stays within the region defined by the invariants, inductively. The results of [26] can be seen as an approximate/abstraction-based verification method in practice — if the program verifies assuming functions and relations to be uninterpreted, the program is correct for any data domain. The early-assumes condition is with respect to the axioms — if the program execution observes a new assumption of equality or a relation holding between terms, we require that any equality entailed newly by it, the previous assumptions and the axioms A do not involve a dropped term This is a smooth extension of the notion of coherence from [26]; when A = ∅, we essentially retrieve the notion from [26]. The decidability results established for properties of individual relation or function symbols discussed above can be combined to yield decidable verification modulo a set of axioms. The verification of coherent programs with respect to models where relational symbols satisfy some subset of reflexivity/irreflexivity/symmetery/transitivity axioms or none, and function symbols are either uninterpreted, commutative, or idempotent, is decidable. Due to the large number of results and technically involved proofs, we give only the main theorems and proof gists for some of these in the paper; details can be found in [27]

Illustrative Example
Program Syntax
Executions and Semantics of Uninterpreted Programs
Feasibility of Executions Modulo Axioms
Program Verification Modulo Axioms
Coherence Modulo Axioms
Terms Computed and Assumptions Accumulated by Executions
Coherence
Verification modulo EPR axioms
Reflexivity, Irreflexivity, and Symmetry
Transitivity
Strict Partial Orders
Strict Total Orders
Axioms Over Functions
Associativity
Commutativity
Idempotence
Combining Axioms
Related Work
Conclusions

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.