## Abstract Interpretation over Non-Deterministic Finite Tree Automata for Set-Based Analysis of Logic Programs (2002)

### Cached

### Download Links

- [diggy.ruc.dk]
- [clip.dia.fi.upm.es]
- [www.clip.dia.fi.upm.es]
- [www.clip.dia.fi.upm.es]
- DBLP

### Other Repositories/Bibliography

Venue: | In Fourth International Symposium on Practical Aspects of Declarative Languages, number 2257 in LNCS |

Citations: | 30 - 11 self |

### BibTeX

@INPROCEEDINGS{Gallagher02abstractinterpretation,

author = {John P. Gallagher and Germán Puebla},

title = {Abstract Interpretation over Non-Deterministic Finite Tree Automata for Set-Based Analysis of Logic Programs},

booktitle = {In Fourth International Symposium on Practical Aspects of Declarative Languages, number 2257 in LNCS},

year = {2002},

pages = {243--261},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. Set-based program analysis has many potential applications, including compiler optimisations, type-checking, debugging, verification and planning. One method of set-based analysis is to solve a set of set constraints derived directly from the program text. Another approach is based on abstract interpretation (with widening) over an infinite-height domain of regular types. Up till now only deterministic types have been used in abstract interpretations, whereas solving set constraints yields non-deterministic types, which are more precise. It was pointed out by Cousot and Cousot that set constraint analysis of a particular program P could be understood as an abstract interpretation over a finite domain of regular tree grammars, constructed from P. In this paper we define such an abstract interpretation for logic programs, formulated over a domain of non-deterministic finite tree automata, and describe its implementation. Both goal-dependent and goal-independent analysis are considered. Variations on the abstract domains operations are introduced, and we discuss the associated tradeoffs of precision and complexity. The experimental results indicate that this approach is a practical way of achieving the precision of set-constraints in the abstract interpretation framework. 1

### Citations

157 | Tree Automata Techniques and Applications
- Comon, Dauchet, et al.
- 1999
(Show Context)
Citation Context ...ticular, the term t is accepted by the automaton R q i [ fsq(t)g has an SLD refutation, where is the set of transitions of R. Further details on NFTAs and their properties can be found elsewhere [12=-=-=-]. 3 Core Semantics In this section we develop bottom-up semantics for denite logic programs, parameterised by a domain of interpretation, and certain operations on that domain. Thus we follow the est... |

127 | Efficient chaotic iteration strategies with widenings
- Bourdoncle
- 1993
(Show Context)
Citation Context ...program being analysed, and a variant of the \semi-naive" optimisation. There are other domain-independent optimisations that could be included, such as the \chaotic iteration strategy" of B=-=ourdoncle [3], a-=-nd \eager evaluation" [36]. 6.2 Domain-Dependent Optimisations The operation F P for the two interpretations is dened as the union of sets of transitions, followed by the elimination of -transiti... |

126 |
Deriving descriptions of possible values of program variables by means of abstract interpretation
- Janssens, Bruynooghe
- 1992
(Show Context)
Citation Context ...riptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations =-=[25, 34-=-], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [... |

120 |
W.: Foundations of Logic Programming (2nd edition
- Lloyd
- 1987
(Show Context)
Citation Context ...l in I . project(H; ) is H, and F P (S) set of ground instances (over the Herbrand universe of P ) of elements of S. This can easily be seen to be equivalent to the more familiar presentation of TP [2=-=9]-=-, and we have the well known result that the leastsxed point (lfp) of TP (with respect to the partial order on DP ) 3 is the least Herbrand model of P , M[P ]. The leastsxed point is the limit of the ... |

119 | Compile-time Derivation of Variable Dependency Using Abstract Interpretation
- Muthukumar, Hermenegildo
(Show Context)
Citation Context ...sed for more intractable examples. 8.4 Future Work An advantage of our approach to set constraint analysis is that it can be incorporated into existing abstract interpretation frameworks such as PLAI =-=[6, 31]-=- which forms part of the Ciao-Prolog pre-processor [24]. The aims of integrating set-constraint analysis into PLAI are to allow combination with other abstract domains, especially numerical approximat... |

106 | A flexible approach to interprocedural data flow analysis and programs with recursive data structures
- Jones, Muchnick
- 1982
(Show Context)
Citation Context ...optimising a theorem prover [14], program specialisation [20], planning [4] and verification [8]. The first work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick =-=[27, 26]-=-. In the past decade two different approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constr... |

102 | Fast and precise regular approximation of logic programs
- Gallagher, Waal
- 1994
(Show Context)
Citation Context ...her early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [=-=25, 34, 19, 13, 30]-=-, and the other on solving set constraints derived from the program text [22, 16, 21, 2, 1, 28, 9, 32]. In abstract interpretation the program is executed over an abstract type domain, program variabl... |

98 |
Logic programs as types for logic programs
- Frühwirth, Shapiro, et al.
- 1991
(Show Context)
Citation Context ...but in this paper we are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference =-=[16, 8-=-], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds ... |

97 | A Finite Presentation Theorem for Approximating Logic Programs
- Heintze, Jaffar
- 1990
(Show Context)
Citation Context ...pproaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constraints derived from the program text =-=[22, 16, 21, 2, 1, 28, 9, 32]-=-. In abstract interpretation the program is executed over an abstract type domain, program variables taking on abstract values represented by types rather than standard values. In set-constraint analy... |

83 | Incremental Analysis of Constraint Logic Programs
- Hermenegildo, Puebla, et al.
- 2000
(Show Context)
Citation Context ...int analysis into PLAI are to allow combination with other abstract domains, especially numerical approximations like convex hulls, and to have access to features of PLAI such as incremental analysis =-=[23]-=-. The pre-processor already includes a type analyser, and the greater precision available from set-based-analysis would increase its scope. To implement an abstract interpretation for a given domain i... |

74 | Formal language, grammar and set-constraint-based program analysis by abstract interpretation
- Cousot, Cousot
- 1995
(Show Context)
Citation Context ...her early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [=-=25, 34, 19, 13, 30]-=-, and the other on solving set constraints derived from the program text [22, 16, 21, 2, 1, 28, 9, 32]. In abstract interpretation the program is executed over an abstract type domain, program variabl... |

72 |
High-performance logic programming with the Aquarius Prolog compiler
- Roy, Despain
- 1992
(Show Context)
Citation Context ...e results of analysing the program with respect to a goal. Thesrst group of benchmarks consists of a standard set of test programs widely available. To these we added the Aquarius compiler of Van Roy =-=[35]-=-. The second set of benchmarks are planning programs, which we obtained from [4]. For these, there is a given goal, and the aim of the analysis is to show that the goal has no solution. For these, an ... |

71 | Set constraints: Results, applications, and future directions
- Aiken
- 1994
(Show Context)
Citation Context ...pproaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constraints derived from the program text =-=[22, 16, 21, 2, 1, 28, 9, 32]-=-. In abstract interpretation the program is executed over an abstract type domain, program variables taking on abstract values represented by types rather than standard values. In set-constraint analy... |

40 | Program analysis, debugging, and optimization using the Ciao system preprocessor
- Hermenegildo, Bueno, et al.
- 1999
(Show Context)
Citation Context ...e are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference [16, 8], debugging =-=[24-=-], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other earl... |

35 |
The Ciao prolog system. reference manual
- Bueno, Cabeza, et al.
- 1997
(Show Context)
Citation Context ...riments were selected to show a range of dierent kinds of analysis, ranging from goal-independent type inference to planning and verication problems. The implementation was developed in Ciao-Prolog [5=-=]-=-. The experiments were run in SICStus Prolog v. 3.8.6 under Linux (generating abstract machine code (not native code) using a 686 processor running at 400 MHz. Table 1 shows the results for goal-indep... |

32 | Solving systems of set constraints (extended abstract
- Aiken, Wimmers
- 1992
(Show Context)
Citation Context ...pproaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constraints derived from the program text =-=[22, 16, 21, 2, 1, 28, 9, 32]-=-. In abstract interpretation the program is executed over an abstract type domain, program variables taking on abstract values represented by types rather than standard values. In set-constraint analy... |

32 |
The applicability of logic program analysis and transformation to theorem proving
- Waal, Gallagher
- 1994
(Show Context)
Citation Context ...ribing them. Derivation of set expressions such as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover =-=[14-=-], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [27, 26]. In the past decade two di... |

30 |
Effectiveness of Abstract Interpretation in Automatic Parallelization: A Case Study in Logic Programming
- Bueno, Banda, et al.
- 1999
(Show Context)
Citation Context ...sed for more intractable examples. 8.4 Future Work An advantage of our approach to set constraint analysis is that it can be incorporated into existing abstract interpretation frameworks such as PLAI =-=[6, 31]-=- which forms part of the Ciao-Prolog pre-processor [24]. The aims of integrating set-constraint analysis into PLAI are to allow combination with other abstract domains, especially numerical approximat... |

30 |
Charlier. Type analysis of prolog using type graphs
- Hentenryck, Cortesi, et al.
- 1994
(Show Context)
Citation Context ...riptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations =-=[25, 34-=-], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [... |

29 | Practical model-based static analysis for definite logic programs
- Gallagher, Boulanger, et al.
- 1995
(Show Context)
Citation Context ...lated result. Various domain-independent optimisations are well known and have been applied in our implementation. We followed the pattern of our previous work on bottom-up analysis of logic programs =-=[19, 18, 17]. The-=- most important optimisations are the decomposition into strongly connected components (SCCs) of the predicate dependency graph of the program being analysed, and a variant of the \semi-naive" op... |

26 | Set-based analysis of reactive infinite-state systems
- Charatonik, Podelski
- 1998
(Show Context)
Citation Context ...but in this paper we are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference =-=[16, 8]-=-, debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verification [8]. The first work in this area was by Reynol... |

23 |
Analysing logic programs using “Prop”-ositional logic programs and a magic wand
- Codish, Demoen
- 1993
(Show Context)
Citation Context ... that program point. For goal-dependent analysis we used “query-answer” transformations, related to “magic-set” transformations, to achieve a goal-dependent analysis in a bottom-up semantic framework =-=[11, 15, 19]-=-. This is a fairly crude but easily implemented technique for goal-directed analysis. Techniques such as “induced magic” [10] would doubtless improve performance. 7 Experiments Some of the potential a... |

22 |
Abstract Interpretation of Logic Programs Using Magic Transformations
- Debray, Ramakrishnan
- 1994
(Show Context)
Citation Context ...ased interpretation. For goal-dependent analysis we used \query-answer" transformations, related to \magic-set" transformations, to achieve a goal-dependent analysis in a bottom-up semantic =-=framework [11, 15, 19]. Thi-=-s is a fairly crude but easily implemented technique for goal-directed analysis. Techniques such as \induced magic" [10] would doubtless improve performance. 9 Variable-Based Argument-Based Progr... |

22 | Practical aspects of set based analysis
- Heintze
- 1992
(Show Context)
Citation Context |

20 | Efficient goal directed bottom-up evaluation of logic programs
- Codish
- 1999
(Show Context)
Citation Context ...chieve a goal-dependent analysis in a bottom-up semantic framework [11, 15, 19]. This is a fairly crude but easily implemented technique for goal-directed analysis. Techniques such as \induced magic&q=-=uot; [10]-=- would doubtless improve performance. 9 Variable-Based Argument-Based Program Clauses Preds Transitions Time (secs) Transitions Time (secs) cs r 109 37 782 0.81 316 0.24 disj r 71 34 371 0.51 212 0.16... |

17 | Set constraints and logic programming
- Kozen
- 1998
(Show Context)
Citation Context |

16 | Directional type inference for logic programs
- Charatonik, Podelski
(Show Context)
Citation Context ...3 Complexity and Scalability Charatonik and Podelski remark that the worst-case complexity of set-based analysis is seldom encountered since types in user-written programs tend to be relatively small =-=[7]. Th-=-is does indeed seem to be 12 true for \type analysis" applications of set constraints. However, for verication and planning problems, the types can grow very large since they can be combinatorial... |

16 | Memoing evaluation by source-to-source transformation
- Wunderwald
- 1995
(Show Context)
Citation Context ...a variant of the \semi-naive" optimisation. There are other domain-independent optimisations that could be included, such as the \chaotic iteration strategy" of Bourdoncle [3], and \eager ev=-=aluation" [3-=-6]. 6.2 Domain-Dependent Optimisations The operation F P for the two interpretations is dened as the union of sets of transitions, followed by the elimination of -transitions. This accords with the pa... |

14 |
Analysing logic programs using \Prop"-ositional logic programs and a magic wand
- Codish, Demoen
- 1993
(Show Context)
Citation Context ...ased interpretation. For goal-dependent analysis we used \query-answer" transformations, related to \magic-set" transformations, to achieve a goal-dependent analysis in a bottom-up semantic =-=framework [11, 15, 19]. Thi-=-s is a fairly crude but easily implemented technique for goal-directed analysis. Techniques such as \induced magic" [10] would doubtless improve performance. 9 Variable-Based Argument-Based Progr... |

13 | Using regular approximations for generalisation during partial evaluation
- Gallagher, Peralta
- 2000
(Show Context)
Citation Context ...t expressions such as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation =-=[2-=-0], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving... |

12 |
Set-Based Analysis of Reactive In Systems
- Charatonik, Podelski
- 1998
(Show Context)
Citation Context ...but in this paper we are concerned with deriving such descriptions statically, rather than prescribing them. Derivation of set expressions such as these has many applications including type inference =-=[16, 8-=-], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds ... |

12 |
Type Domains for Abstract Interpretation: A Critical Study
- Mildner
- 1999
(Show Context)
Citation Context ...her early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [=-=25, 34, 19, 13, 30]-=-, and the other on solving set constraints derived from the program text [22, 16, 21, 2, 1, 28, 9, 32]. In abstract interpretation the program is executed over an abstract type domain, program variabl... |

11 |
Flow analysis of lazy higher order functional programs
- Jones
- 1987
(Show Context)
Citation Context ...], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [=-=27, 26-=-]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constra... |

11 |
A approach to interprocedural data analysis and programs with recursive data structures
- Jones, Muchnick
- 1982
(Show Context)
Citation Context ...], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [=-=27, 26-=-]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretation [25, 34, 19, 13, 30], and the other on solving set constra... |

11 | Detecting unsolvable queries for definite logic programs
- Bruynooghe, Vandecasteele, et al.
- 1999
(Show Context)
Citation Context ...uch as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning =-=[4]-=- and verification [8]. The first work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [27, 26]. In the past decade two different approaches to deriving set expre... |

9 | Paths vs. trees in set-based program analysis
- Charatonik, Podelski, et al.
- 2000
(Show Context)
Citation Context |

8 | A bottom-up analysis toolkit
- Gallagher
- 1995
(Show Context)
Citation Context ...lated result. Various domain-independent optimisations are well known and have been applied in our implementation. We followed the pattern of our previous work on bottom-up analysis of logic programs =-=[19, 18, 17]. The-=- most important optimisations are the decomposition into strongly connected components (SCCs) of the predicate dependency graph of the program being analysed, and a variant of the \semi-naive" op... |

6 |
Detecting unsolvable queries for de logic programs
- Bruynooghe, Vandecasteele, et al.
- 1998
(Show Context)
Citation Context ...uch as these has many applications including type inference [16, 8], debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning =-=[-=-4] and verication [8]. Thesrst work in this area was by Reynolds [33]; other early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving set expressio... |

6 | Set-based failure analysis for logic programs and concurrent constraint programs
- Podelski, Charatonik, et al.
- 1999
(Show Context)
Citation Context |

3 |
Automatic construction of data set definitions
- Reynolds
- 1969
(Show Context)
Citation Context ...ebugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verification [8]. The first work in this area was by Reynolds =-=[33]-=-; other early research was done by Jones and Muchnick [27, 26]. In the past decade two different approaches to deriving set expressions have been followed. One approach is based on abstract interpreta... |

2 |
Automatic construction of data set de
- Reynolds
- 1969
(Show Context)
Citation Context ..., debugging [24], assisting compiler optimisations [25, 34], optimising a theorem prover [14], program specialisation [20], planning [4] and verication [8]. Thesrst work in this area was by Reynolds [=-=33-=-]; other early research was done by Jones and Muchnick [27, 26]. In the past decade two dierent approaches to deriving set expressions have been followed. One approach is based on abstract interpretat... |