Skip to content
Sections
Personal tools
You are here: Home Members Damien Sereni Damien Sereni's Publications Termination Analysis of Higher-Order Functional Programs
Document Actions

Termination Analysis of Higher-Order Functional Programs

Last modified 08 March 2008

In the Summer School on Program Analysis and Transformation, DIKU, University of Copenhagen, 2005 (PAT 2005).

Authors

Damien Sereni and Neil D. Jones.

Abstract

Size-change termination (SCT) automatically identifies termination of first-order functional programs. The SCT principle: a program terminates if every infinite control flow sequence would cause an infinite descent in a well-founded data value (POPL 2001).

More recent work (RTA 2004) developed a termination analysis of the pure untyped lambda-calculus using a similar approach, but an entirely different notion of size was needed to compare higher-order values. Again this is a powerful analysis, even proving termination of certain lambda-expressions containing the fixpoint combinator Y. However the language analysed is tiny, not even containing constants.

These techniques are unified and extended significantly, to yield a termination analyser for higher-order, call-by-value programs as in ML's purely functional core or similar functional languages. Our analyser has been proven correct, and implemented for a substantial subset of OCaml.

Electronic Copy

An improved version of these notes were published in APLAS 2005.

BIBTEX

  @inproceedings{pat05sereni, 
    author = "Damien Sereni and Neil D. Jones", 
    title = "Termination Analysis of Higher-Order Functional Programs", 
    booktitle = "Summer School on Program Analysis and Transformation (PAT 2005)", 
    year = "2005"} 
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: