## Abstract Interpretation with Specialized Definitions (2006)

### Cached

### Download Links

- [www.clip.dia.fi.upm.es]
- [clip.dia.fi.upm.es]
- [clip.dia.fi.upm.es]
- [www.clip.dia.fi.upm.es]
- [www.clip.dia.fi.upm.es]
- DBLP

### Other Repositories/Bibliography

Venue: | In Proc. of SAS’06, LNCS |

Citations: | 8 - 7 self |

### BibTeX

@INPROCEEDINGS{Puebla06abstractinterpretation,

author = {Germán Puebla and Elvira Albert and Manuel Hermenegildo},

title = {Abstract Interpretation with Specialized Definitions},

booktitle = {In Proc. of SAS’06, LNCS},

year = {2006},

pages = {107--126},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In this work we present what we argue is the first fully described generic algorithm for efficient and precise integration of abstract interpretation and partial deduction. Taking as starting point state-of-the-art algorithms for context-sensitive, polyvariant abstract interpretation and (abstract) partial deduction, we present an algorithm which combines the best of both worlds. Key ingredients include the accurate success propagation inherent to abstract interpretation and the powerful program transformations achievable by partial deduction. In our algorithm, the calls which appear in the analysis graph are not analyzed w.r.t. the original definition of the procedure but w.r.t. specialized definitions of these procedures. Such specialized definitions are obtained by applying both unfolding and abstract executability. Our framework is parametric w.r.t. different control strategies and abstract domains. Different combinations of such parameters correspond to existing algorithms for program analysis and specialization. Simultaneously, our approach opens the door to the efficient computation of strictly more precise results than those achievable by each of the individual techniques. The algorithm is now one of the key components of the CiaoPP analysis and specialization system.

### Citations

1890 |
Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ... individual techniques. The algorithm is now one of the key components of the CiaoPP analysis and specialization system. 1 Introduction and Motivation The relationship between abstract interpretation =-=[3]-=- and partial evaluation [11] has received considerable attention (see for example [5, 7, 2, 17, 10, 12, 21, 24, 6, 15, 4, 23, 13] and their references). In order to motivate and illustrate our proposa... |

1857 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...ialized definitions. Section 6 discusses how use interpret the results or our algorithm. Finally, Sect. 7 compares to related work and Sect. 8 concludes. 2 Preliminaries Very briefly (see for example =-=[18]-=- for details), an atom A is a syntactic construction of the form p(t1, . . . , tn), where p/n, with n ≥ 0, is a predicate symbol and t1, . . . , tn are terms. A clause is of the form H ← B where its h... |

642 |
Partial Evaluation and Automatic Program Generation
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ... algorithm is now one of the key components of the CiaoPP analysis and specialization system. 1 Introduction and Motivation The relationship between abstract interpretation [3] and partial evaluation =-=[11]-=- has received considerable attention (see for example [5, 7, 2, 17, 10, 12, 21, 24, 6, 15, 4, 23, 13] and their references). In order to motivate and illustrate our proposal for an integration of abst... |

240 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1987
(Show Context)
Citation Context ... variable. The above results cannot be achieved unless all four points mentioned before are available in a program analysis/specialization system. For example, if we use traditional partial deduction =-=[19, 8]-=- (PD) with the corresponding Generalize and Unfold rules followed by abstract interpretation and abstract specialization as described in [22, 23] we only obtain a comparable program after four iterati... |

193 |
A practical framework for the abstract interpretation of logic progams
- Bruynooghe
- 1987
(Show Context)
Citation Context ...ded. This is depicted by arrows from the two nonexpanded occurrences of tw(B, C) : {B/G, C/V} to the expanded one. More information on the efficient construction of the analysis graph can be found in =-=[20, 9, 1]-=-. The program analysis graph is implicitly represented in the algorithm by means of two data structures, the answer table (AT ) and the dependency table (DT ). The answer table contains entries of the... |

145 | Tutorial on specialisation of logic programs
- Gallagher
- 1993
(Show Context)
Citation Context ... variable. The above results cannot be achieved unless all four points mentioned before are available in a program analysis/specialization system. For example, if we use traditional partial deduction =-=[19, 8]-=- (PD) with the corresponding Generalize and Unfold rules followed by abstract interpretation and abstract specialization as described in [22, 23] we only obtain a comparable program after four iterati... |

83 | Combined determination of sharing and freeness of program variables through abstract interpretation - Muthukumar, Hermenegildo |

81 | Global Analysis of Constraint Logic Programs
- Banda, Hermenegildo, et al.
- 1994
(Show Context)
Citation Context ... Definitions We now present our final algorithm for abstract interpretation with specialized definitions. This algorithm extends both the APD Algorithm 1 and the abstract interpretation algorithms in =-=[20, 9]-=-. W.r.t. Algorithm 1, the main improvement is the addition of success propagation. Unfortunately, this requires computing a global fixpoint. It is an important objective for us to be able to compute a... |

57 | Systematic design of program transformation frameworks by abstract interpretation
- Cousot, Cousot
- 2002
(Show Context)
Citation Context ...analysis and specialization system. 1 Introduction and Motivation The relationship between abstract interpretation [3] and partial evaluation [11] has received considerable attention (see for example =-=[5, 7, 2, 17, 10, 12, 21, 24, 6, 15, 4, 23, 13]-=- and their references). In order to motivate and illustrate our proposal for an integration of abstract interpretation and partial evaluation, we use the running example of Fig. 1. It is a simple Ciao... |

53 | Logic program specialisation through partial deduction: Control issues. Theory and
- Leuschel, Bruynooghe
(Show Context)
Citation Context ...pes, for two reasons. 2 First, to illustrate how non-downwards closed information, including 2 The values for the rest of parameters are: AGeneralize and AUnfold rules based on homeomorphic embedding =-=[14]-=-, and the identity function as Widen Call function. 2sfreeness and definite independence, can be correctly exploited by our algorithm in order to optimize the program, and second, to show how unfoldin... |

42 | Offline specialisation in Prolog using a hand-written compiler generator. Theory and Practice of Logic Programming
- Leuschel, Jørgensen, et al.
(Show Context)
Citation Context ...t computation rule. However, it is well-known that non-leftmost derivation steps can produce incorrect results if the goal contains impure atoms to the left of AR. More details can be found, e.g., in =-=[16]-=-. Also, abstract execution of non-leftmost atoms can be incorrect if the abstract domain used captures properties which are not downwards closed. A simple solution is to only allow leftmost abstract e... |

34 | De Schreye. Logic program specialisation: How to be more specific
- Leuschel, D
- 1996
(Show Context)
Citation Context ...analysis and specialization system. 1 Introduction and Motivation The relationship between abstract interpretation [3] and partial evaluation [11] has received considerable attention (see for example =-=[5, 7, 2, 17, 10, 12, 21, 24, 6, 15, 4, 23, 13]-=- and their references). In order to motivate and illustrate our proposal for an integration of abstract interpretation and partial evaluation, we use the running example of Fig. 1. It is a simple Ciao... |

33 | Optimized Algorithms for Incremental Analysis of Logic Programs
- Puebla, Hermenegildo
- 1996
(Show Context)
Citation Context ... Definitions We now present our final algorithm for abstract interpretation with specialized definitions. This algorithm extends both the APD Algorithm 1 and the abstract interpretation algorithms in =-=[20, 9]-=-. W.r.t. Algorithm 1, the main improvement is the addition of success propagation. Unfortunately, this requires computing a global fixpoint. It is an important objective for us to be able to compute a... |

31 |
Specialisation of Prolog and FCP Programs Using Abstract Interpretation
- Gallagher, Codish, et al.
(Show Context)
Citation Context ...analysis and specialization system. 1 Introduction and Motivation The relationship between abstract interpretation [3] and partial evaluation [11] has received considerable attention (see for example =-=[5, 7, 2, 17, 10, 12, 21, 24, 6, 15, 4, 23, 13]-=- and their references). In order to motivate and illustrate our proposal for an integration of abstract interpretation and partial evaluation, we use the running example of Fig. 1. It is a simple Ciao... |

27 | Program Specialisation and Abstract Interpretation Reconciled
- Leuschel
- 1998
(Show Context)
Citation Context |

25 | Abstract Multiple Specialization and its Application to Program Parallelization
- Puebla, Hermenegildo
- 1999
(Show Context)
Citation Context |

25 | More Precise yet Efficient Type Inference for Logic Programs
- Vaucheret, Bueno
- 2002
(Show Context)
Citation Context ...w.r.t. partial evaluation, in the sense that it does not contain any concrete information (as, for example, a depth-k or types domain would). We have also conducted experiments with the eterms domain =-=[27]-=- which infers regular types (third group of rows in the table). For each benchmark, the columns under Traditional present the analysis (Ana) and partial deduction (PD) times using the standard algorit... |

22 | Combining abstract interpretation and partial evaluation - Jones - 1997 |

14 |
Regular tree languages as an abstract domain in program specialisation
- Gallagher, Peralta
(Show Context)
Citation Context |

14 | Non-Leftmost Unfolding in Partial Evaluation of Logic Programs with Impure Predicates
- Albert, Puebla, et al.
- 2006
(Show Context)
Citation Context ... the case of derivation steps (Def. 1), it is well-known that non-leftmost steps can produce incorrect results if the goal contains impure atoms to the left of AR. More details can be found, e.g., in =-=[1]-=- and its references. For the case of abstract execution (Def. 2), the execution of non-leftmost atoms can be incorrect if the abstract domain used captures properties which are not downwards closed. A... |

12 | An integration of partial evaluation in a generic abstract interpretation framework
- Puebla, Hermenegildo, et al.
(Show Context)
Citation Context |

11 |
Abstract specialization and its applications
- Puebla, Hermenegildo
- 2003
(Show Context)
Citation Context |

10 |
Static analysis for logic program specialisation, WSA{92: Analyse Statique
- Gallagher
- 1992
(Show Context)
Citation Context |

10 |
The Ciao Prolog System. Reference Manual (v1.8). The Ciao System Documentation Series–TR
- Bueno, Cabeza, et al.
- 2002
(Show Context)
Citation Context ...rograms (also known as partial deduction [21, 11]) of [8, 10, 18, 15, 24, 26, 9, 19, 25, 16]). In order to motivate our proposal, we use the running “challenge” example of Fig. 1. It is a simple Ciao =-=[3]-=- program which uses Peano’s arithmetic. 4 4 Rules are written with a unique subscript attached to the head atom (the rule number), and a double subscript (rule number, body position) attached to each ... |

8 |
Parameterized partial deduction
- Consel, Koo
- 1993
(Show Context)
Citation Context |

8 | Abstract conjunctive partial deduction using regular types and its application to model checking
- Leuschel, Gruner
- 2001
(Show Context)
Citation Context |

7 |
A framework for the integration of partial evaluation and abstract interpretation of logic programs
- Leuschel
(Show Context)
Citation Context |