Toward a Framework for Conceptual and Formal Outlines of Programs

Abstract :

In this paper, we propose to re-document programs with outlines. The interest of outlines is that they allow to contract, as in a zoom, the amount of information necessary to understand programs, easing walking through them to localize given computations or to identify the role of a piece of code.

As a first stage toward a framework of program outlines, we have defined a model suited to the representation of computations performed within loops. The main feature of our outlines is that they are both formal and conceptual: they are represented within frames which are semantically equivalent to the outlined loops and help understanding what is computed by revealing how this is computed.

In order to re-document loops, we implemented a system, PRISME, able to automatically construct outlines of a subset of Lisp looping functions. PRISME allowed us to validate the implementation of our model. Currently, we use it intensively to experiment the role of outlines for debugging and reverse specification of programs.

Ce papier est disponible en version Postcript ou sur demande .