## Suspension Analyses for Concurrent Logic Programs (1994)

Venue: | ACM Transactions on Programming Languages and Systems |

Citations: | 24 - 6 self |

### BibTeX

@ARTICLE{Codish94suspensionanalyses,

author = {Michael Codish and Moreno Falaschi and Kim Marriott},

title = {Suspension Analyses for Concurrent Logic Programs},

journal = {ACM Transactions on Programming Languages and Systems},

year = {1994},

volume = {16},

pages = {649--686}

}

### Years of Citing Articles

### OpenURL

### Abstract

Interpretation, concurrent logic programming, program analysis The work of M. Falaschi has been partially supported by ESPRIT Basic Research Action 6707 -- Parforce. Authors' current addresses: M. Codish, Department of Mathematics and Computer Science, Ben-Gurion University, P.O.B. 653, 84105 Beer-Sheba, Israel. email: codish@bengus.bgu.ac.il; M. Falaschi, Dipartimento di Elettronica e Informatica, Padova University, Via Gradenigo 6/A, Padova, Italy. email: falaschi@artemide.dei.unipd.it; K. Marriott, Department of Computer Science, Monash University, Clayton 3168, Victoria, Australia. email: marriott @bruce.cs.monash.oz.au Contents 1 Introduction 3 2 Example 4 3 Concurrent logic programs 6 3.1 Preliminaries : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3.2 Operational semantics : : : : : : : : : : : : : : : : : : : : : : : : : : 7 4 Approximating Transition Systems 10 4.1 Abstract Interpretation : : : : : : : : : : : : : : : : : : : : : : : : : 10 4.2 Abstract ...

### Citations

1880 |
Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints
- Cousot, Cousot
- 1977
(Show Context)
Citation Context ...f a program is definitely suspension free. If the analysis fails the program may, or may not, be suspension free. Examples demonstrate that the analysis is practically useful. Abstract interpretation =-=[8]-=- provides the basis for a semantic approach to dataflow analysis and has been widely applied to the analysis of sequential logic programs. Abstract interpretations of logic programs are usually based ... |

1855 |
Foundations of Logic Programming
- Lloyd
- 1987
(Show Context)
Citation Context ...s variables, terms and atoms. We let Var be the set of variables and Atom the set of atoms. Variables are denoted by x ; y ; : : :. The anonymous variable is denoted by ' '. For definitions see Lloyd =-=[14]-=-. The following definitions are included in order to fix the terminology used. The set of variables occurring in an atom (or term) A is denoted vars(A). This notation extends naturally to other syntac... |

269 |
The Family of Concurrent Logic Programming Languages
- Shapiro
- 1989
(Show Context)
Citation Context ...s may appear. This information is determined by the set of intermediate goals which may arise in computations. In this paper we apply an "operational" approach based on a transition system s=-=emantics ([21]) to "-=-;collect" the set of intermediate goals. Given a concurrent logic program with an initial goal, an abstract transition system is a graph over a set of abstract goals. The abstract goals consist o... |

218 |
Unification revisited
- Lassez, Maher, et al.
- 1986
(Show Context)
Citation Context ...stentially quantified variables in equations. See for example [16]. Intuitively, there is not a great difference as there is a natural isomorphism between substitutions and unquantified equation sets =-=[13]-=-. We let Eqn denote the set of possibly existentially quantified finite sets of equations over terms. Elements of Eqn are regarded as (quantified) conjunctions of equality constraints and treated modu... |

161 | Comparing the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ...on. This guarantees termination; however, now each atom in a description represents one or more variable renamings of itself. A similar effect can be obtained by applying a suitable widening operator =-=[9]-=- on the domain of state descriptions to restrict analyses to finite subspaces. Definition 6.1. canonical atoms and goals The canonical atoms, Atom ? ` Atom, are some (fixed) maximal set such that 8A; ... |

131 |
ndergaard. Analysis of constraint logic programs
- Marriott, S
- 1990
(Show Context)
Citation Context ...ore convenient to deal with equation sets, rather than with substitutions as this allows restriction of substitutions to be modeled by existentially quantified variables in equations. See for example =-=[16]-=-. Intuitively, there is not a great difference as there is a natural isomorphism between substitutions and unquantified equation sets [13]. We let Eqn denote the set of possibly existentially quantifi... |

44 |
Logical relations and the typed lambda calculus
- Statman
- 1985
(Show Context)
Citation Context ...f a "concretization function" which maps elements in a non-standard domain to those elements in the standard domain which they describe. The approximation relation can be viewed as a logical=-= relation [22], and so it can be l-=-ifted from the "base" or "primitive" domains to functions and tuples. Definition 4.1. description, approximates A description Desc = hD ; fl; E i consists of a description domain (... |

41 |
Proving Termination of Logic Programs by Exploiting Term Properties
- BOSSI, COCCO, et al.
- 1991
(Show Context)
Citation Context ...abstraction of Example 11 is illustrated in Figure 6. The analysis shows that the state does not suspend. Extractors have an interesting relationship with the semi-linear norm functions introduced in =-=[2]-=- for proving termination of logic programs. Semi-linear norms generalize the notion of linear norms defined by Plumer [19]. 22 1 M. Codish, M. Falaschi, K. Marriott hp(x 1 ); c(x 2 ); [x 1 $ x 2 ]i `j... |

34 |
Derivation and safety of an abstract unification algorithm for groundness and aliasing analysis. See Furukawa
- Codish, Dams, et al.
- 1991
(Show Context)
Citation Context ...enever term t is "ground". The induced description abstracts information about both "definite groundness" and "definite variable sharing ". This information differs from =-=the abstractions described in [3]-=- which specify possible sharing. Another example of an induced equation description is the description induced from the predicate nonvar(t) which holds whenever t is not a variable. In this case the i... |

34 |
Suspension analysis for concurrent logic programs
- Codish, Falaschi, et al.
- 1994
(Show Context)
Citation Context ... give analyses for deadlock and floundering. Section 8 describes related 4 1 M. Codish, M. Falaschi, K. Marriott work and finally, Section 9 concludes. A preliminary version of this paper appeared in =-=[4]-=-. 2. EXAMPLE Concurrent logic programs consist of finite sets of guarded clauses which specify rules for reducing states. The basic notions of concurrency --- processes, communication, synchronization... |

34 |
Abstract Interpretation for Concurrent Logic Languages
- Codognet, Codognet, et al.
- 1990
(Show Context)
Citation Context ...on. Hence, downwards closure corresponds to closure under instantiation and is introduced so that all interleavings in the concrete semantics need not be considered. A similar condition is assumed in =-=[6]-=-. We will primarily be interested in approximating states by leaving the goal component as it is, and only abstracting the equation component of the state. In the remainder of this section we will inv... |

33 | Semantics-based dataflow analysis of logic programs
- Marriott, Søndergaard
- 1989
(Show Context)
Citation Context ...f logic programs are usually based on a collecting semantics which extends the standard semantics providing information about the predicate calls and corresponding answers which arise in computations =-=[15]-=-. Abstractions of such collecting semantics provide information about how the clauses of a program will be called allowing for efficient compilation. For example, by using specialized unification inst... |

32 |
On derived dependencies and connected databases
- Dart
- 1991
(Show Context)
Citation Context ...x n definitely have this property. Therefore, descriptions in Dep correspond to definite clause propositional formula and so dependency relations are closely related to the dependency formula of Dart =-=[10]-=- introduced for groundness analysis in deductive databases. Definition 5.6. induced equation description Let P be a predicate over terms which is downwards closed, that is the set of terms with proper... |

29 |
Efficient Analysis of Concurrent Constraint Logic Programs
- Codish, Falaschi, et al.
- 1993
(Show Context)
Citation Context ...he suspension analysis can be modified to provide analyses for other types of reactive properties. In particular we suggest modifications that give analyses for deadlock and floundering. Moreover, in =-=[5]-=- we describe an extension for local suspension analysis. Local suspension is a weaker form of suspension which occurs if there is an infinite fair computation in which some atom is perpetually stuck. ... |

24 |
Enumeration of success patterns in logic programs
- Sato, Tamaki
- 1984
(Show Context)
Citation Context ...idea behind the depth k analysis is to approximate the equation set in a state by equations in which the depth of the terms is bounded by k . Depth k approximations were introduced by Sato and Tamaki =-=[20]-=- for specializing sequential logic programs. Definition 5.1. depth k equation description An unquantified equation set E is an unquantified depth k equation set if 8 (x = t) 2 solve(E ) : depth(t)sk w... |

13 |
A Characterization of Non-Floundering Logic Programs
- Marriott, Sondergaard, et al.
- 1990
(Show Context)
Citation Context ...which negated calls are delayed until the arguments are fully ground but positive calls are executed in sequential order. Example analyses are Barbuti and Martelli [1], Dart [10], and Marriott et al. =-=[17]-=-. Correctness of these analyses relies on the fact that waken delayed calls cannot effect the current substitution except by failing (as they cannot be waken until all their arguments are ground). Thu... |

8 |
A Complete Framework for the Abstract Interpretation of Logic Programs: Theory and Applications
- Corsini, File
- 1989
(Show Context)
Citation Context ... of the scheduling rule. Their approach differs in two main ways from the one presented here. The main difference is that the Codognets' approach is based on abstractions of the AND--OR tree model of =-=[7] while our-=-s abstracts directly the (simpler) transition system semantics. Furthermore, their analysis is based on a notion of abstract-substitutions corresponding to our "simple sharing". It will prov... |

7 |
The languages FCP(:,?) and FCP
- Yardeni, Kliger, et al.
- 1990
(Show Context)
Citation Context ... prove correct; (2) the analysis is efficient as we prove that it is sufficient to consider a single scheduling policy in the abstract semantics. Although this paper focuses on the analysis of FCP(:) =-=[23]-=- programs, the approach readily extends to other concurrent logic languages. The next section contains an intuitive example which illustrates the type of analysis that will be formalized in the remain... |

6 |
Recognizing non-floundering logic programs and goals
- Barbuti, Martelli
- 1990
(Show Context)
Citation Context ...ring analyses for logic language in which negated calls are delayed until the arguments are fully ground but positive calls are executed in sequential order. Example analyses are Barbuti and Martelli =-=[1]-=-, Dart [10], and Marriott et al. [17]. Correctness of these analyses relies on the fact that waken delayed calls cannot effect the current substitution except by failing (as they cannot be waken until... |

6 |
Moded type systems for logic programming
- Yelick, Zachary
- 1989
(Show Context)
Citation Context ...t required is an analogue of Theorem 4.11. That is, that the scheduling rule used in the analysis does not affect correctness. This result is in fact a consequence of Theorem 4 in Yellick and Zachary =-=[24]-=-. Note that this result is somewhat stronger than Theorem 4.11 as it does not require downwards closure. However, because of the committed choice nature of concurrent languages, Yellick and Zachary's ... |

5 |
Termination Proofs for Logic Programs, volume 446 of LNAI
- Plumer
- 1990
(Show Context)
Citation Context ... an interesting relationship with the semi-linear norm functions introduced in [2] for proving termination of logic programs. Semi-linear norms generalize the notion of linear norms defined by Plumer =-=[19]-=-. 22 1 M. Codish, M. Falaschi, K. Marriott hp(x 1 ); c(x 2 ); [x 1 $ x 2 ]i `j ' - (1) ? (2) hc(x 1 ); [x 1 $ ;]i `j ' - (3) ? (4) 2 Fig. 6. Suspension analysis with tail sharing extractor Definition ... |

4 |
Heterogeneous SLD resolution
- Naish
- 1984
(Show Context)
Citation Context ... modification, giving rise to a better floundering analysis, is to associate the remaining defining clauses with each atom in the state. This corresponds to abstracting the HSLD operational semantics =-=[18]-=- for these languages. Each of these modifications gives rise to a floundering analysis for logic languages with delay. In order to prove that these floundering analyses are correct, the key technical ... |