1999
DOI: 10.1093/comjnl/42.8.650
|View full text |Cite
|
Sign up to set email alerts
|

Recursion Removal/Introduction by Formal Transformation: An Aid to Program Development and Program Comprehension

Abstract: The transformation of a recursive program to an iterative equivalent is a fundamental operation in Computer Science. In the reverse direction, the task of reverse engineering (analysing a given program in order to determine its specification) can be greatly ameliorated if the program can be re-expressed in a suitable recursive form. But the existing recursion removal transformations, such as the techniques discussed by Knuth [1] and Bird [2], can only be applied in the reverse direction if the source program h… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2004
2004
2021
2021

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 7 publications
(1 citation statement)
references
References 29 publications
(34 reference statements)
0
1
0
Order By: Relevance
“…The method has been applied to the derivation of many complex algorithms from specifications, including the Schorr-Waite graph marking algorithm [War96], a hybrid sorting algorithm (an efficient combination of Quicksort and insertion sort) [War90], various tree searching algorithms [War99a] and a program slicing transformation [WaZ10]. The latter example shows that a program transformation can itself be defined as a formal specification which can then be refined into an implementation of the transformation.…”
Section: Our Approachmentioning
confidence: 99%
“…The method has been applied to the derivation of many complex algorithms from specifications, including the Schorr-Waite graph marking algorithm [War96], a hybrid sorting algorithm (an efficient combination of Quicksort and insertion sort) [War90], various tree searching algorithms [War99a] and a program slicing transformation [WaZ10]. The latter example shows that a program transformation can itself be defined as a formal specification which can then be refined into an implementation of the transformation.…”
Section: Our Approachmentioning
confidence: 99%