Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation 2021
DOI: 10.1145/3453483.3454055
|View full text |Cite
|
Sign up to set email alerts
|

Beyond the elementary representations of program invariants over algebraic data types

Abstract: 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 ADTmanipulating programs: tree automata, and first-order formulas with or without size constrai… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
24
0
1

Year Published

2021
2021
2023
2023

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 18 publications
(25 citation statements)
references
References 60 publications
(109 reference statements)
0
24
0
1
Order By: Relevance
“…In contrast to Racer, HoIce does not provide progress guarantees nor always generates a counterexample. The RInGen [Kostyukov et al 2021] solver infers solutions to CHCs modulo ADTs by treating all symbols as uninterpreted (thus, it does not support arithmetic). It uses a finite model finder to infer a finite model for the resulting FoL formula and extends it to a solution expressed using a tree automaton.…”
Section: Implementation and Evaluationmentioning
confidence: 99%
“…In contrast to Racer, HoIce does not provide progress guarantees nor always generates a counterexample. The RInGen [Kostyukov et al 2021] solver infers solutions to CHCs modulo ADTs by treating all symbols as uninterpreted (thus, it does not support arithmetic). It uses a finite model finder to infer a finite model for the resulting FoL formula and extends it to a solution expressed using a tree automaton.…”
Section: Implementation and Evaluationmentioning
confidence: 99%
“…Benchmarks used in the ADT-nonlin track were preprocessed by eliminating all theory constraints and recursively-defined functions. The transformation was performed using the feature of the RINGEN tool [13]. This way, we were able to satisfy the input-language constraints for all four tools entering the competition in this track.…”
Section: Benchmark Processing In Adt-nonlinmentioning
confidence: 99%
“…Algorithm. RINGEN stands for a Regular Invariant Generator, where regular invariants [13] are represented by finite tree automata. While invariant representations based on first-order logic (FOL) can only access finitely many subterms, regular invariants have an ability to "scan" an ADT term to the unbounded depth via automaton rules.…”
Section: Golemmentioning
confidence: 99%
See 1 more Smart Citation
“…Recent work by Kostyukov et al [36] proposes a method for proving the satisfiability of CHCs over ADTs by computing models represented by finite tree automata. The tool based on this approach, called RegInv, is applied to the problem of computing invariants of programs that manipulate ADTs and it is shown to be more practical, in some cases, than state-of-the-art CHC solvers that compute invariants represented by first-order logic formulas.…”
Section: Related Work and Conclusionmentioning
confidence: 99%