TY - GEN

T1 - Logical Characterization of Coherent Uninterpreted Programs

AU - Hari Govind, V. K.

AU - Shoham, Sharon

AU - Gurfinkel, Arie

N1 - Publisher Copyright: © 2021 FMCAD Associ.

PY - 2021

Y1 - 2021

N2 - An uninterpreted program (UP) is a program whose semantics is defined over the theory of uninterpreted functions. This is a common abstraction used in equivalence checking, compiler optimization, and program verification. While simple, the model is sufficiently powerful to encode counter automata, and, hence, undecidable. Recently, a class of UP programs, called coherent, has been proposed and shown to be decidable. We provide an alternative, logical characterization, of this result. Specifically, we show that every coherent program is bisimilar to a finite state system. Moreover, an inductive invariant of a coherent program is representable by a formula whose terms are of depth at most 1. We also show that the original proof, via automata, only applies to programs over unary uninterpreted functions. While this work is purely theoretical, it suggests a novel abstraction that is complete for coherent programs but can be soundly used on arbitrary uninterpreted (and partially interpreted) programs.

AB - An uninterpreted program (UP) is a program whose semantics is defined over the theory of uninterpreted functions. This is a common abstraction used in equivalence checking, compiler optimization, and program verification. While simple, the model is sufficiently powerful to encode counter automata, and, hence, undecidable. Recently, a class of UP programs, called coherent, has been proposed and shown to be decidable. We provide an alternative, logical characterization, of this result. Specifically, we show that every coherent program is bisimilar to a finite state system. Moreover, an inductive invariant of a coherent program is representable by a formula whose terms are of depth at most 1. We also show that the original proof, via automata, only applies to programs over unary uninterpreted functions. While this work is purely theoretical, it suggests a novel abstraction that is complete for coherent programs but can be soundly used on arbitrary uninterpreted (and partially interpreted) programs.

UR - http://www.scopus.com/inward/record.url?scp=85123722739&partnerID=8YFLogxK

U2 - https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_16

DO - https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_16

M3 - منشور من مؤتمر

T3 - Proceedings of the 21st Formal Methods in Computer-Aided Design, FMCAD 2021

SP - 77

EP - 85

BT - Proceedings of the 21st Formal Methods in Computer-Aided Design, FMCAD 2021

A2 - Piskac, Ruzica

A2 - Whalen, Michael W.

A2 - Hunt, Warren A.

A2 - Weissenbacher, Georg

PB - Institute of Electrical and Electronics Engineers Inc.

T2 - 21st International Conference on Formal Methods in Computer-Aided Design, FMCAD 2021

Y2 - 18 October 2021 through 22 October 2021

ER -