Affiliation:
1. University of Illinois at Urbana-Champaign, USA
Abstract
We study the problem of completely automatically verifying uninterpreted programs—programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification problem asks whether a given program satisfies a postcondition written using quantifier-free formulas with equality on the final state, with no loop invariants, contracts, etc. being provided. We show that this problem is undecidable in general. The main contribution of this paper is a subclass of programs, called
coherent programs
that admits decidable verification, and can be decided in Pspace. We then extend this class of programs to classes of programs that are
k
-coherent, where
k
∈ ℕ, obtained by (automatically) adding
k
ghost variables and assignments that make them coherent. We also extend the decidability result to programs with recursive function calls and prove several undecidability results that show why our restrictions to obtain decidability seem necessary.
Funder
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Verification of message-passing uninterpreted programs;Science of Computer Programming;2024-05
2. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification;Proceedings of the ACM on Programming Languages;2024-01-05
3. Be realistic;Proceedings of the Third International Workshop on Automated Program Repair;2022-05-19
4. Learning formulas in finite variable logics;Proceedings of the ACM on Programming Languages;2022-01-12
5. Collaborative Verification of Uninterpreted Programs;Theoretical Aspects of Software Engineering;2022