Skip to main content

Fission for Program Comprehension

Jeremy Gibbons

Abstract

Fusion is a program transformation that combines adjacent computations, flattening structure and improving efficiency at the cost of clarity. Fission is the same transformation, in reverse: creating structure, ex nihilo. We explore the use of fission for program comprehension, that is, for reconstructing the design of a program from its implementation. We illustrate through rational reconstructions of the designs for three different C programs that count the words in a text file.

Book Title
Mathematics of Program Construction
Editor
Tarmo Uustalu
Pages
162−179
Publisher
Springer−Verlag
Series
Lecture Notes in Computer Science
Volume
4014
Year
2006