2020
DOI: 10.1145/3408994
|View full text |Cite
|
Sign up to set email alerts
|

Regular language type inference with term rewriting

Abstract: This paper defines a new type system applied to the fully automatic verification of safety properties of treeprocessing higher-order functional programs. We use term rewriting systems to model the program and its semantics and tree automata to model algebraic data types. We define the regular abstract interpretation of the input term rewriting system where the abstract domain is a set of regular languages. From the regular abstract interpretation we derive a type system where each type is a regular language. W… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
5
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
1
1

Relationship

1
4

Authors

Journals

citations
Cited by 7 publications
(8 citation statements)
references
References 30 publications
0
5
0
Order By: Relevance
“…Thus, while providing sometimes a more precise characterization of the approximations of the normal forms, these techniques are constrained, in terms of termination, by some syntactical conditions. When testing 5 of our base case scenarios with two popular implementations, Timbuk3 [14] seems less powerful than our approach, while Timbuk4 [18] can check more systems but less eciently than our approach. For Timbuk3, the over-approximation strategies were to broad to check all considered examples.…”
Section: Related Workmentioning
confidence: 94%
See 1 more Smart Citation
“…Thus, while providing sometimes a more precise characterization of the approximations of the normal forms, these techniques are constrained, in terms of termination, by some syntactical conditions. When testing 5 of our base case scenarios with two popular implementations, Timbuk3 [14] seems less powerful than our approach, while Timbuk4 [18] can check more systems but less eciently than our approach. For Timbuk3, the over-approximation strategies were to broad to check all considered examples.…”
Section: Related Workmentioning
confidence: 94%
“…This was, for example, the case for a rewritten version of the attening TRS which avoided the nested function calls, in order to build a TRS of a known terminating class for automata completion without approximation [15]. Timbuk4, recently proposed to use a counter-example based abstraction renement procedure to control the over-approximation [18], could check all the examples including a version of the attening TRS which could not be veried with our current approach. On the other hand, the computational performance is considerably worse than for our approach (∼ 700ms for the atten case compared to ∼ 20µs for our approach).…”
Section: Related Workmentioning
confidence: 99%
“…Generalising string automata, tree automata are an established formalism to represent sets of trees. They have been used to define static analysers for term-rewriting systems (TRSs) [3] and higher-order programs [20]. They have been extended to lattice tree automata to support arbitrary non-relational abstract domains at their leaves [17,18], and improve the performance of analysers for TRSs.…”
Section: Related Workmentioning
confidence: 99%
“…Recently, Haudebourg et al [28] proposed a regular abstract interpretation framework for invariant generation for higher-order functional programs over ADTs. Authors derive a type system where each type is a regular language and use CEGAR to infer regular invariants.…”
Section: Related Workmentioning
confidence: 99%