Beyond the elementary representations of program invariants over algebraic data types
Beyond the elementary representations of program invariants over algebraic data types
复制标题
超越代数数据类型上的程序不变量的基本表示
DOI:
10.1145/3453483.3454055
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Grigory Fedyukovich
中科院分区:
文献类型:
--
作者:
Y. Kostyukov;D. Mordvinov;Grigory Fedyukovich
First-order logic is a natural way of expressing properties of computation. It is traditionally used in various program logics for expressing the correctness properties and certificates. Although such representations are expressive for some theories, they fail to express many interesting properties of algebraic data types (ADTs). In this paper, we explore three different approaches to represent program invariants of ADT-manipulating programs: tree automata, and first-order formulas with or without size constraints. We compare the expressive power of these representations and prove the negative definability of both first-order representations using the pumping lemmas. We present an approach to automatically infer program invariants of ADT-manipulating programs by a reduction to a finite model finder. The implementation called RInGen has been evaluated against state-of-the-art invariant synthesizers and has been experimentally shown to be competitive. In particular, program invariants represented by automata are capable of expressing more complex properties of computation and their automatic construction is often less expensive.
DOI:
10.1007/978-3-642-39799-8_61
发表时间:
2013
期刊:
影响因子:
--
作者:
Tewodros A. Beyene;Corneliu Popeea;Andrey Rybalchenko
通讯作者:
Andrey Rybalchenko