Control structures in programs and computational complexity

Dedicated to Helmut Schwichtenberg for his 60th birthday
https://doi.org/10.1016/j.apal.2004.10.011Get rights and content
Under an Elsevier user license
open archive

Abstract

A key problem in implicit complexity is to analyse the impact on program run times of nesting control structures, such as recursion in all finite types in functional languages or for-do statements in imperative languages.

Three types of programs are studied. One type of program can only use ground type recursion. Another is concerned with imperative programs: ordinary loop programs and stack programs. Programs of the third type can use higher type recursion on notation as in functional programming languages.

The present approach to analysing run time yields various characterisations of fptime and all Grzegorczyk classes at and above the flinspace level. Central to this approach is the distinction between “top recursion” and “side recursion”. Top recursions are the only form of recursion which can cause an increase in complexity. Counting the depth of nested top recursions leads to several versions of “the μ-measure”. In this way, various recent solutions of key problems in implicit complexity are integrated into a uniform approach.

MSC

03D15
03D20
68N15
68N18
68N30
68Q15
68Q17
68W40
03-02

Keywords

Implicit computational complexity
Imperative programming languages
Grzegorczyk hierarchy
Higher type recursion
Lambda calculus
Polynomial time

Cited by (0)