## Termination Analysis based on Operational Semantics (1995)

Citations: | 4 - 1 self |

### BibTeX

@TECHREPORT{Nielson95terminationanalysis,

author = {Flemming Nielson and Hanne Riis Nielson},

title = {Termination Analysis based on Operational Semantics},

institution = {},

year = {1995}

}

### Years of Citing Articles

### OpenURL

### Abstract

In principle termination analysis is easy: find a well-founded partial order and prove that calls decrease with respect to this order. In practice this often requires an oracle (or a theorem prover) for determining the well-founded order and this oracle may not be easily implementable. Our approach circumvents some of these problems by exploiting the inductive definition of algebraic data types and using pattern matching as in functional languages. We develop a termination analysis for a higher-order functional language; the analysis incorporates and extends polymorphic type inference and axiomatizes a class of well-founded partial orders for multipleargument functions (as in Standard ML and Miranda). Semantics is given by means of operational (natural-style) semantics and soundness is proved; this involves making extensions to the semantic universe and we relate this to the techniques of denotational semantics. For dealing with the partiality aspects of the soundness proof it suffice...

### Citations

603 | Automatic discovery of linear restraints among variables of a program
- Cousot, Halbwachs
- 1978
(Show Context)
Citation Context ...y have some weaknesses; an example is [7] that essentially gives up on recursive programs (e.g. by producing a time-estimate of "infinity"). A better approach may be to adapt the linear rest=-=raints of [4]-=-. Not surprisingly the strongest techniques to termination analysis have been developed in terms of logical approaches [17, 16, 8, 2, 28] 2 whose implementation then often requires an oracle to resolv... |

163 |
A non-strict functional language with polymorphic types
- Miranda
- 1985
(Show Context)
Citation Context ...unctions that traverse datastructures or other inductively defined data types (including the natural numbers). This includes functions like map, filter, foldr, member, union of functional programming =-=[15, 27]-=- and it should be clear that the approach based on types generalises well to passing funtions with known termination behaviour around as first class citizens. To assess the strength of the method pres... |

159 | The type and effect discipline - Talpin, Jouvelot - 1994 |

96 |
Inductive definitions, semantics and abstract interpretation
- Cousot, Cousot
- 1992
(Show Context)
Citation Context ...ms of structural operational semantics: one possibility is small-step operational semantics [20] and another is "GooSOS" that allows explicit specification of 27 infinite as well as finite b=-=ehaviours [5]-=-. Since this is a phenomenon not found in denotational semantics it may be appropriate to ask why we insisted on an operational semantics. Similarly one may ask why we favoured the inference system ap... |

93 |
A Theory of Type Polymorphism
- Milner
- 1978
(Show Context)
Citation Context ... semantics. In the Appendix we provide the detailed proofs (although the highlights are usually presented in the main text) and we briefly discuss how to modify the usual algorithm for type inference =-=[14]-=- so as to obtain our totality types. 2 Syntax and Semantics All programs may rely on the existence of the booleans as could have been introduced by the algebraic type definition DEF 'Bool = True + Fal... |

59 | Automatic average-case analysis of algorithms
- Flajolet, Salvy, et al.
- 1991
(Show Context)
Citation Context ...ime-complexity, say by guessing and solving recurrence equations [12, 23], is very hard and cannot always succeed due to the undecidability of the problem although an impressive study is contained in =-=[9]-=-. Similar remarks go for automatic termination analysis where it is more often a wellfounded order [6] (for recursive calls, or iteration) that needs to be guessed and verified. However, one must be c... |

58 |
Strictness analysis: A new perspective based on type inference
- Kuo, Mishra
- 1989
(Show Context)
Citation Context ...hing termination information). In Section 3 we then develop the termination analysis. Following recent trends in program analysis we shall specify termination analysis by means of an inference system =-=[11, 29]-=- and annotate the type constructors. For the analysis of functions we ensure that the order of parameters in not important in that all permutations of parameters will be considered (before concluding ... |

36 | From cml to process algebras
- Nielson, Nielson
- 1993
(Show Context)
Citation Context ...es of Figure 4: 1 Since we use a big-step semantics there is no harmful ambiguity between viewing a syntactic construct as a value or as an expression (when both are possible). Hence we do not follow =-=[19]-=- in enclosing values in angle brackets. 9 [w] 0 ae ` FUN k ae v ~ p 1 ) e 1 : : : + FUN k ae v ~ p 1 ) e 1 : : : [APP ! FUN ] 0 ae ` e 1 + (FUN k ae v ~ p 1 ) e 1 : : :) w 1 : : : wm\Gamma1 ae ` e 2 +... |

33 |
Calculi for Time Analysis of Functional Programs
- Sands
- 1990
(Show Context)
Citation Context ...ture on automatic time-complexity: too often one aims at establishing bounds that are only partially correct in the sense that if the program terminates then it will at most have used the time stated =-=[21, 22]-=-. Such approaches are useless for automatic termination analysis. Automatic techniques that always succeed for termination analysis (and time-complexity) must necessarily have some weaknesses; an exam... |

28 |
Proving Termination Properties of Prolog Programs: A Semantic Approach
- Baudinet
- 1992
(Show Context)
Citation Context ...tial evaluation: that the program only goes through a finite number of different configurations. Also termination has been studied for term rewriting systems (e.g. [13]) and for logic languages (e.g. =-=[1]-=-) but our approach relies heavily upon the algebraic data types of our language and the nature of the operational semantics. Main aims and overview Our study has been motivated by an investigation int... |

27 |
A compositional approach to time analysis of first order lazy functional programs
- Bjerner, HolmstroĢm
- 1989
(Show Context)
Citation Context ...restrict our attention to eager languages, in fact an eager functional language with pattern matching, as laziness (of data type constructors) presents formidable complications (although attempted in =-=[24, 3]-=-). A problem related to the study of termination analysis is that of quasi-termination analysis [10] that is relevant for partial evaluation: that the program only goes through a finite number of diff... |

23 | Polymorphic time systems for estimating program complexity
- Dornic, Jouvelot, et al.
- 1992
(Show Context)
Citation Context ...approaches are useless for automatic termination analysis. Automatic techniques that always succeed for termination analysis (and time-complexity) must necessarily have some weaknesses; an example is =-=[7] that esse-=-ntially gives up on recursive programs (e.g. by producing a time-estimate of "infinity"). A better approach may be to adapt the linear restraints of [4]. Not surprisingly the strongest techn... |

12 |
The order types of termination orderings on monadic terms, strings and multisets
- Martin, Scott
- 1997
(Show Context)
Citation Context ...alysis [10] that is relevant for partial evaluation: that the program only goes through a finite number of different configurations. Also termination has been studied for term rewriting systems (e.g. =-=[13]-=-) and for logic languages (e.g. [1]) but our approach relies heavily upon the algebraic data types of our language and the nature of the operational semantics. Main aims and overview Our study has bee... |

10 | Two-Level Functional Languages. Cambridge Univ - Nielson, Nielson - 1992 |

4 |
M.Tofte and R.Harper The Definition of Standard ML
- Milner, Tofte
- 1990
(Show Context)
Citation Context ...unctions that traverse datastructures or other inductively defined data types (including the natural numbers). This includes functions like map, filter, foldr, member, union of functional programming =-=[15, 27]-=- and it should be clear that the approach based on types generalises well to passing funtions with known termination behaviour around as first class citizens. To assess the strength of the method pres... |

3 |
An automatic complexity evaluator
- ACE
- 1988
(Show Context)
Citation Context ... abstraction of time-complexity in the sense that having a timebound on a computation also ensures termination. Automatic analysis of time-complexity, say by guessing and solving recurrence equations =-=[12, 23]-=-, is very hard and cannot always succeed due to the undecidability of the problem although an impressive study is contained in [9]. Similar remarks go for automatic termination analysis where it is mo... |

2 | Control flow analysis by effect systems and abstract interpretation - Tang - 1994 |

1 |
U.Schmerl: Proving Total Correctness of Programs
- Berghammer
- 1993
(Show Context)
Citation Context ...te of "infinity"). A better approach may be to adapt the linear restraints of [4]. Not surprisingly the strongest techniques to termination analysis have been developed in terms of logical a=-=pproaches [17, 16, 8, 2, 28]-=- 2 whose implementation then often requires an oracle to resolve the non-syntax directed parts of the analysis. Our goal is to obtain an automatic analysis, by means of an inference system, that is so... |