Abstract:This paper presents two criteria for the termination of tree automata completion. Tree automata completion is a technique for computing a tree automaton recognizing or over-approximating the set of terms reachable w.r.t. a term rewriting system. The first criterion is based on the structure of the term rewriting system itself. We prove that for most of the known classes of linear rewriting systems preserving regularity, the tree automata completion is terminating. Moreover, it outputs a tree automaton recogniz… Show more
“…Termination of the tree automata completion algorithm is not ensured in general [19]. For instance, if R * (L(A)) is not regular, it cannot be represented as a tree automaton.…”
Section: @(@(Filter P) Cons(x L)) → If @(P X) Then Cons(x @(@(Fmentioning
confidence: 99%
“…Equations make TAC powerful enough to verify first-order functional programs [19]. However, state-of-the-art TAC has two short-comings.…”
Section: @(@(Filter P) Cons(x L)) → If @(P X) Then Cons(x @(@(Fmentioning
confidence: 99%
“…It has been shown in [19] that it is possible to tune the precision of the approximation. For a given TRS R, initial state automaton A and set of equations E, the termination of the completion algorithm is undecidable in general, even with the use of equations.…”
“…In this section, we show that termination of the completion algorithm with a set of equations E is ensured under the following conditions: if (i) A k is reduced -free and deterministic (written REFD in the rest of the paper) for all k; (ii) every term of A k can be rewritten into a term of a given language L ⊆ T (F) using R (for instance if R is terminating); (iii) L has a finite number of equivalence classes w.r.t E. Completion is known to preserve -reduceness and -determinism if E ⊇ E r ∪ E R [19] where …”
Section: Termination Of Tree Automata Completionmentioning
confidence: 99%
“…The tree automaton completion technique is one analysis technique able to verify first-order Java programs [4]. Until now, the completion algorithm was guaranteed to terminate only in the case of first-order functional programs [19].…”
Abstract. This paper describes a fully automatic technique for verifying safety properties of higher-order functional programs. Tree automata are used to represent sets of reachable states and functional programs are modeled using term rewriting systems. From a tree automaton representing the initial state, a completion algorithm iteratively computes an automaton which over-approximates the output set of the program to verify. We identify a subclass of higher-order functional programs for which the completion is guaranteed to terminate. Precision and termination are obtained conjointly by a careful choice of equations between terms. The verification objective can be used to generate sets of equations automatically. Our experiments show that tree automata are sufficiently expressive to prove intricate safety properties and sufficiently simple for the verification result to be certified in Coq.
“…Termination of the tree automata completion algorithm is not ensured in general [19]. For instance, if R * (L(A)) is not regular, it cannot be represented as a tree automaton.…”
Section: @(@(Filter P) Cons(x L)) → If @(P X) Then Cons(x @(@(Fmentioning
confidence: 99%
“…Equations make TAC powerful enough to verify first-order functional programs [19]. However, state-of-the-art TAC has two short-comings.…”
Section: @(@(Filter P) Cons(x L)) → If @(P X) Then Cons(x @(@(Fmentioning
confidence: 99%
“…It has been shown in [19] that it is possible to tune the precision of the approximation. For a given TRS R, initial state automaton A and set of equations E, the termination of the completion algorithm is undecidable in general, even with the use of equations.…”
“…In this section, we show that termination of the completion algorithm with a set of equations E is ensured under the following conditions: if (i) A k is reduced -free and deterministic (written REFD in the rest of the paper) for all k; (ii) every term of A k can be rewritten into a term of a given language L ⊆ T (F) using R (for instance if R is terminating); (iii) L has a finite number of equivalence classes w.r.t E. Completion is known to preserve -reduceness and -determinism if E ⊇ E r ∪ E R [19] where …”
Section: Termination Of Tree Automata Completionmentioning
confidence: 99%
“…The tree automaton completion technique is one analysis technique able to verify first-order Java programs [4]. Until now, the completion algorithm was guaranteed to terminate only in the case of first-order functional programs [19].…”
Abstract. This paper describes a fully automatic technique for verifying safety properties of higher-order functional programs. Tree automata are used to represent sets of reachable states and functional programs are modeled using term rewriting systems. From a tree automaton representing the initial state, a completion algorithm iteratively computes an automaton which over-approximates the output set of the program to verify. We identify a subclass of higher-order functional programs for which the completion is guaranteed to terminate. Precision and termination are obtained conjointly by a careful choice of equations between terms. The verification objective can be used to generate sets of equations automatically. Our experiments show that tree automata are sufficiently expressive to prove intricate safety properties and sufficiently simple for the verification result to be certified in Coq.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.