## Abstract conjunctive partial deduction using regular types and its application to model checking (2001)

Venue: | IN PROC. OF LOPSTR, NUMBER 2372 IN LNCS |

Citations: | 8 - 0 self |

### BibTeX

@INPROCEEDINGS{Leuschel01abstractconjunctive,

author = {Michael Leuschel and Stefan Gruner},

title = {Abstract conjunctive partial deduction using regular types and its application to model checking},

booktitle = {IN PROC. OF LOPSTR, NUMBER 2372 IN LNCS},

year = {2001},

pages = {263--283},

publisher = {Springer}

}

### OpenURL

### Abstract

We present an abstract partial deduction technique which uses regular types as its domain and which can handle conjunctions, and thus perform deforestation and tupling. We provide a detailed description of all the required operations and present an implementation within the ecce system. We discuss the power of this new specialisation algorithm, especially in the light of verifying and specialising infinite state process algebras. Here, our new algorithm can provide a more precise treatment of synchronisation and can be used for refinement checking.

### Citations

2666 | Model Checking
- Clarke, Grumberg, et al.
- 2001
(Show Context)
Citation Context ...e model checking can be performed by a combination of partial deduction and abstract interpretation. The contribution of the paper is also the development of a CTL (computation tree logic; see, e.g., =-=[5]-=-) interpreter in logic programming and its use as a sound basis for model checking 2 Observe that property 2. still admits the possibility of a bottom element ⊥ whose concretisation is empty.sof finit... |

1920 |
Foundations of Logic Programming
- Lloyd
- 1984
(Show Context)
Citation Context ...nd demonstrate its usefulness for infinite state model checking of process algebras. 2 Preliminaries In the remainder of this paper we suppose some familiarity with basic notions in logic programming =-=[1, 39]-=- as well as some acquaintance with partial deduction [29]. In this paper, we restrict ourselves to definite programs and goals (but possibly with declarative built-in’s such as is, call, functor, arg,... |

667 |
Partial Evaluation and Automatic Program Generation
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ...ion and can be used for refinement checking. 1 Introduction Program specialisation, also called partial evaluation or partial deduction, is an automatic technique for program optimisation (see, e.g., =-=[16, 24, 29]-=-). The central idea is to specialise a given source program for a particular application domain. The main idea of abstract interpretation [7, 2, 22] is to statically analyse programs by interpreting t... |

652 |
The Theory and Practice of Concurrency
- Roscoe
(Show Context)
Citation Context ...d on the PD-domain, fail. This motivates the development of a more precise domain later in the paper. Example 1. Take the following specification of an agent P expressed using the process algebra CSP =-=[48]-=- (where “→” denotes the action prefix, and “|||” the interleaving operator): P =Def a → (P |||P ) The operational semantics of CSP tells us that the agent P can perform the action a (leading to the ex... |

435 |
From Logic Programming to
- Apt
- 1996
(Show Context)
Citation Context ...nd demonstrate its usefulness for infinite state model checking of process algebras. 2 Preliminaries In the remainder of this paper we suppose some familiarity with basic notions in logic programming =-=[1, 39]-=- as well as some acquaintance with partial deduction [29]. In this paper, we restrict ourselves to definite programs and goals (but possibly with declarative built-in’s such as is, call, functor, arg,... |

294 | Abstract interpretation and application to logic programs
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ...ic technique for program optimisation (see, e.g., [16, 24, 29]). The central idea is to specialise a given source program for a particular application domain. The main idea of abstract interpretation =-=[7, 2, 22]-=- is to statically analyse programs by interpreting them over some abstract domain. This is done in such a way as to ensure termination of the abstract interpretation and to ensure that the so derived ... |

245 |
Partial evaluation in logic programming
- Lloyd, Shepherdson
- 1991
(Show Context)
Citation Context ...θ leading to the resolvent ← B is the formula Qθ ← B. We also denote by Q the set of all conjunctions and by 2 S the power-set of some set S. Abstract Partial Deduction In classical partial deduction =-=[40]-=- a program is specialised for a set of ordinary atoms (or conjunctions in the case of conjunctive partial deduction [9]). In abstract partial deduction a program is specialised for a set of abstract c... |

227 |
Unification revisited
- Lassez, Maher, et al.
- 1987
(Show Context)
Citation Context ...ch computes an idempotent and relevant 1 most general unifier θ of two expressions E1 and E2 (and returns fail if no such unifier exists) Also, by msg(E1, E2) we denote a most specific generalisation =-=[26]-=- of E1 and E2. Also, as common in partial deduction, the notion of SLD-trees is extended to allow incomplete SLD-trees which may contain leaves where no literal has been selected for further derivatio... |

205 | Well-structured transition systems everywhere! Theor
- Schnoebelen
- 2001
(Show Context)
Citation Context ...bility and undecidability”. These results extend to other Petri net formalisms which can be viewed as so-called Well-Structured Transition Systems (WSTS’s), for which certain properties are decidable =-=[12]-=-. All of the results above were obtained in the setting of classical partial deduction. Now, certain process algebras can also be viewed as WSTS’s, so one would hope that the approach could handle tho... |

199 |
A Practical Framework for the Abstract Interpretation of Logic Programs
- Bruynooghe
- 1991
(Show Context)
Citation Context ...ic technique for program optimisation (see, e.g., [16, 24, 29]). The central idea is to specialise a given source program for a particular application domain. The main idea of abstract interpretation =-=[7, 2, 22]-=- is to statically analyse programs by interpreting them over some abstract domain. This is done in such a way as to ensure termination of the abstract interpretation and to ensure that the so derived ... |

152 | Tutorial on specialisation of logic programs
- Gallagher
- 1993
(Show Context)
Citation Context ...ll the computed instances of elements of γ(A) are contained in γ(A ′ ). In our first implementation, we simply re-used the topdown, goal-directed analysis from [17], as distributed with the sp system =-=[15]-=-.sProcedure 5.1 (generic partial deduction procedure) Input: a program P and a goal ← Q Output: a set of abstract conjunctions A and a global tree γ Initialisation: γ := a “global” tree with one unmar... |

126 | Efficient model checking using tabled resolution
- Ramakrishna, Ramakrishnan, et al.
- 1997
(Show Context)
Citation Context ...tation of the generic combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], =-=[47, 8]-=-, [11], [14], [43] [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolo... |

102 | Fast and Precise Regular Approximations of Logic Programs - Gallagher, Waal - 1994 |

93 | Model Checking in CLP
- Delzanno, Podelski
- 1999
(Show Context)
Citation Context ... the generic combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], [47, 8], =-=[11]-=-, [14], [43] [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolog tech... |

76 | Global Flow Analysis as a Practical Compilation Tool
- HERMENEGILDO, WARREN, et al.
- 1992
(Show Context)
Citation Context ...ic technique for program optimisation (see, e.g., [16, 24, 29]). The central idea is to specialise a given source program for a particular application domain. The main idea of abstract interpretation =-=[7, 2, 22]-=- is to statically analyse programs by interpreting them over some abstract domain. This is done in such a way as to ensure termination of the abstract interpretation and to ensure that the so derived ... |

73 |
A type system for logic programs
- Yardeni, Shapiro
- 1991
(Show Context)
Citation Context ...se abstract domain in which we can implement a more refined generalisation operation. More concretely, we propose to use an abstract domain using regular types encoded as regular unary logic programs =-=[49, 18]-=-, for which efficient algorithms exist and which is nonetheless a sufficiently expressive domain. This domain also yields improved precision in more “classical” applications of partial deduction (see,... |

61 | Infinite state model checking by abstract interpretation and program specialisation
- Leuschel, Massart
- 1999
(Show Context)
Citation Context ... with a renaming operation (which maps conjunctions back to atoms and thus general resultants back to Horn clauses). 3 Limitations of the PD-domain for Verification 3.1 Verification by Specialisation =-=[37]-=- established that infinite state model checking can be performed by a combination of partial deduction and abstract interpretation. The contribution of the paper is also the development of a CTL (comp... |

60 |
Controlling generalisation and polyvariance in partial deduction of normal logic programs
- Leuschel, Martens, et al.
- 1998
(Show Context)
Citation Context ...since an in-depth inspection of the associated RUL programs might be prohibitively expensive. In our first experiments we have used whistles which “blow” if a growing characteristic tree is detected (=-=[36]-=-) and if the structure of the concrete conjunction part grows according to some measure (e.g., the homeomorphic embedding or just term-size). It is easy to see that these whistles are well-quasi order... |

56 | Logic program specialisation through partial deduction: Control issues. Theory and Practice
- Leuschel, Bruynooghe
- 2002
(Show Context)
Citation Context ...es with [19, 20]. For example, our approach can handle conjunctions together with the regular type information. This provides advantages for specialisation tasks, such as more tractable local control =-=[32]-=- and enables optimisations such as deforestation and tupling. As we will show in the paper, it also enables new applications in the verification of infinite state systems. In summary, the combined pow... |

51 |
The ecce partial deduction system and the dppd library of benchmarks. Obtainable via http://www.ecs.soton.ac.uk/~mal
- Leuschel
(Show Context)
Citation Context ... In summary, the combined power of conjunctions and regular types enables transformations which cannot be achieved by either approach alone. We describe our implementation, based upon the ecce system =-=[27]-=-. We also present the very first experiments with this implementation and demonstrate its usefulness for infinite state model checking of process algebras. 2 Preliminaries In the remainder of this pap... |

45 | Parameterized partial evaluation - Consel, Khoo - 1991 |

42 | Conjunctive partial deduction: Foundations, control, algorithms and experiments
- Schreye, Glück, et al.
- 1999
(Show Context)
Citation Context ...er-set of some set S. Abstract Partial Deduction In classical partial deduction [40] a program is specialised for a set of ordinary atoms (or conjunctions in the case of conjunctive partial deduction =-=[9]-=-). In abstract partial deduction a program is specialised for a set of abstract conjunctions, defined as follows: Definition 1. An abstract domain (AQ, γ) is a couple consisting of a set AQ of so-call... |

38 |
Most specific logic programs
- Marriott, Naish, et al.
- 1988
(Show Context)
Citation Context ...,f(D)) :- p_conj__4(A,B,C,D). p_conj__4(s(A),inc,[B|C],f(D)) :- p_conj__2(A,B,C,D). This program contains no facts and a simple bottom-up post-processing (e.g., the one implemented in ecce based upon =-=[41]-=-) can infer that sync trace fails. Observe that a deterministic regular type analysis on its own (i.e., without conjunctions) cannot infer failure of sync trace. The reason is that, while the regular ... |

37 | Logic programming and model checking
- Cui, Dong, et al.
- 1998
(Show Context)
Citation Context ...tation of the generic combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], =-=[47, 8]-=-, [11], [14], [43] [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolo... |

35 | Schreye. Logic program specialisation: How to be more specific - Leuschel, De - 1996 |

29 | Abstract interpretation over non-deterministic finite tree automata for set-based analysis of logic programs
- Gallagher, Puebla
- 2002
(Show Context)
Citation Context ...ker tries to find a trace T that can be performed by one system but not by the other. Such refinement checking can be encoded by the following clause: 8 The non-deterministic regular type analysis of =-=[21]-=- actually is precise enough to capture these traces. However, we strongly believe that there will be more complicated system traces which it cannot precisely describe.snot_refinement_of(S1,S2,T) :- tr... |

28 | Constraint logic programming applied to model checking
- Fribourg
- 2000
(Show Context)
Citation Context ...eneric combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], [47, 8], [11], =-=[14]-=-, [43] [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolog technology... |

28 | Coverability of reset Petri nets and other well-structured transition systems by partial deduction
- Leuschel, Lehmann
- 2000
(Show Context)
Citation Context ...y providing a different interpreter (e.g, for CSP or the B-method or variations thereof, see [31]), one can tune the verification algorithm by tuning the settings of the specialisation algorithm (see =-=[35, 34]-=-), and one can also try to apply the verification approach for systems and properties which are in principle undecidable. [35] gave a first formal answer about the power of the approach and showed tha... |

28 | Solving coverability problems of Petri nets by partial deduction
- Leuschel, Lehmann
- 2000
(Show Context)
Citation Context ...y providing a different interpreter (e.g, for CSP or the B-method or variations thereof, see [31]), one can tune the verification algorithm by tuning the settings of the specialisation algorithm (see =-=[35, 34]-=-), and one can also try to apply the verification approach for systems and properties which are in principle undecidable. [35] gave a first formal answer about the power of the approach and showed tha... |

27 | Set-based analysis of reactive infinite-state systems
- Charatonik, Podelski
- 1998
(Show Context)
Citation Context ...lementation of the generic combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking =-=[4]-=-, [47, 8], [11], [14], [43] [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generat... |

27 | Conjunctive partial deduction in practice
- Jørgensen, Leuschel, et al.
- 1996
(Show Context)
Citation Context ... we have ∃M ∈ generalise(L, W, γ) such that Ai ⊑ M; see [28, 30]). This generalisation will replace label(W ) in the global tree γ. For the whistle(L, γ) we can try to apply the whistles discussed in =-=[25, 9]-=-. We propose to use whistles that also take the characteristic trees into account, as those will be influenced by the regular type information. This is probably the easiest way to take the regular typ... |

27 | Program Specialisation and Abstract Interpretation Reconciled
- Leuschel
- 1998
(Show Context)
Citation Context ...ose relationship between abstract interpretation and program specialisation and, recently, there has been a lot of interest in the integration of these two techniques (see, e.g., [6, 33, 23, 44–46]). =-=[28, 30]-=- presented a generic framework and algorithm for top-down program specialisation, which supersedes earlier top-down specialisation approaches in generality and power. [28, 30] established several gene... |

26 | Constraint logic programming for local and symbolic model checking
- Nilsson, Lübcke
- 2000
(Show Context)
Citation Context ... combined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], [47, 8], [11], [14], =-=[43]-=- [13]. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolog technology (effi... |

25 | Abstract Multiple Specialization and Its Application to Program Parallelization - PUEBLA, HERMENEGILDO - 1999 |

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

20 | Advanced logic program specialisation
- Leuschel
- 1999
(Show Context)
Citation Context ...ion and can be used for refinement checking. 1 Introduction Program specialisation, also called partial evaluation or partial deduction, is an automatic technique for program optimisation (see, e.g., =-=[16, 24, 29]-=-). The central idea is to specialise a given source program for a particular application domain. The main idea of abstract interpretation [7, 2, 22] is to statically analyse programs by interpreting t... |

14 |
Regular tree languages as an abstract domain in program specialisation
- Gallagher, Peralta
(Show Context)
Citation Context ... present a particular instantiation of the abstract partial deduction framework of [28, 30], by using an abstract domain based upon regular types. This instantiation partly resembles the technique of =-=[19, 20]-=- (the two techniques were developed more or less independently). However, there are still considerable differences with [19, 20]. For example, our approach can handle conjunctions together with the re... |

13 | Using regular approximations for generalisation during partial evaluation
- Gallagher, Peralta
- 2000
(Show Context)
Citation Context ... present a particular instantiation of the abstract partial deduction framework of [28, 30], by using an abstract domain based upon regular types. This instantiation partly resembles the technique of =-=[19, 20]-=- (the two techniques were developed more or less independently). However, there are still considerable differences with [19, 20]. For example, our approach can handle conjunctions together with the re... |

13 | Towards Integrating Partial Evaluation in a Specialization Framework based on Generic Abstract Interpretation - Puebla, Gallagher, et al. - 1997 |

12 |
Type Domains for Abstract Interpretation, A Critical Study
- Mildner
- 1999
(Show Context)
Citation Context ...ively unexpected problem, namely that the bottom-up analysis [17], which we used to compute bottom up P in Procedure 5.1, did not terminate. Possible non-termination of [17] was already discovered in =-=[42]-=-, but up until now it was believed that this would rarely occur in practice. Fortunately, for one benchmark at least, we noticed a considerable improvement. In fact, for the model elim benchmark (orig... |

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

11 | Detecting unsolvable queries for definitive logic programs
- Bruynooghe, Vandecasteele, et al.
- 1998
(Show Context)
Citation Context ...makingsregular type information explicitly visible to other parts of the specialisation procedure, e.g., for specialising built-ins. Take for example, A = 〈Y is X ∗ X, t1(X) ∧ any(Y ), R〉 with R = {t1=-=(3)-=-.}. By looking at Y is X ∗ X a specialiser cannot spot that Y can actually be computed. However, by applying extended simplification, we obtain esimplify(A) = 〈Y is 3 ∗ 3, any(Y ), R〉 as t1(X) ∧ any(Y... |

9 | Animation and model checking of CSP and B using prolog technology
- Leuschel, Adhianto, et al.
- 2001
(Show Context)
Citation Context ...The advantage of this approach is its generality. For example, one can change the specification formalism by providing a different interpreter (e.g, for CSP or the B-method or variations thereof, see =-=[31]-=-), one can tune the verification algorithm by tuning the settings of the specialisation algorithm (see [35, 34]), and one can also try to apply the verification approach for systems and properties whi... |

8 | A Bottom-Up Analysis Toolkit
- Gallagher
- 1995
(Show Context)
Citation Context ...sform unsafe(X) into fail. For a query such as unsafe(agent(system)) the task is even more complicated (and even existing goal directed abstract interpretation systems, such as the current release of =-=[17]-=-, are not able to derive failure of unsafe(agent(system))). 3 E.g., ecce will detect that agent(p) ✂ par(agent(p),agent(p)). 4 A similar situation will arise even if we delay generalisation.sThis prec... |

6 |
Verifying CTL properties of infinite-state systems by specializing constraint logic programs
- Fioravanti, Pettorossi, et al.
- 2001
(Show Context)
Citation Context ...ined bottom-up/top-down algorithm of [28, 30]. On the side of verification, there are many related works which use logic programming based approaches for model checking [4], [47, 8], [11], [14], [43] =-=[13]-=-. All of these works share the view that logic programming is a convenient formalism for expressing specifications and concurrent systems, and that using latest generation Prolog technology (efficient... |

6 | Logic programming and partial deduction for the verification of reactive systems: An experimental evaluation
- Leuschel, Massart
- 2002
(Show Context)
Citation Context ... and use existing program specialisation algorithms, we can decide the so-called “coverability problems” (which encompass quasi-liveness, boundedness, determinism, regularity,...). Recent experiments =-=[38]-=- seem to suggest that this approach fares quite well in practice, compared to some existing verification systems. [34] proved completeness results for another class of infinite state model checking ta... |

3 | The applicability of logic program analysis and transformation to theorem proving
- Waal, Gallagher
- 1994
(Show Context)
Citation Context ...il now it was believed that this would rarely occur in practice. Fortunately, for one benchmark at least, we noticed a considerable improvement. In fact, for the model elim benchmark (originally from =-=[10]-=-) the new procedure provided an extra speedup of 9.3 over conjunctive partial deduction (the total speedup is now 33.5 compared to 3.6 with just conjunctive partial deduction; this is much better than... |

3 |
Logic program specialisation and top-down abstract interpretation reconciled
- Leuschel
- 2000
(Show Context)
Citation Context ...ose relationship between abstract interpretation and program specialisation and, recently, there has been a lot of interest in the integration of these two techniques (see, e.g., [6, 33, 23, 44–46]). =-=[28, 30]-=- presented a generic framework and algorithm for top-down program specialisation, which supersedes earlier top-down specialisation approaches in generality and power. [28, 30] established several gene... |