Program visualization deals with the problem of showing the execution of a compute r program . In this paper, program visualization is seen to also involve questions of how w e conceptually view a program . One such view, namely viewing a program in terms of it s action on its data structures, is investigated and a formal mathematical model for thi s view is presented . Examples are given to illustrate situations where this view is usefu l and where not so useful .
Introduction .Program visualization, PV, is concerned with the problem of showing the internal actio n of a computer program . Applications are in computer science educatio n [3,4,5,12,13,14,15,18,22] and in software development and testing [7,8,16,17]] . The BALS A system at Brown University [9,10,11] has been used for both instruction and in the desig n and testing of algorithms . Many of the program visualization projects are interactiv e demonstration programs : they allow the user to observe the action of a fixed collectio n of programs and to control, to some degree, the execution of those programs . Some ar e non-interactive graphic movies and systems for creating movies . See [1,2,6] . Th e projects described in [9,14,19] are systems which allow any program to be animated .Most of the work in program visualization seems to be in development of software fo r displaying the internal action of a program and the most popular view depicting tha t action seems to be that of the program's action on its data structures . There seems to b e little or no work done devoted to providing a theoretical basis for this type of work . I n this paper, program visualization is seen to include questions of how we conceptuall y view a program and focuses on one view : a program as action on data .This paper presents a formal abstract model, an action on data sequence, for the type o f PV display that shows a program in terms of its action on data . In the same way that a lexical scanner becomes a realization of the finite state automaton, a PV display base d upon the model presented here becomes a graphic realization of an action on dat a sequence . This paper contends that abstract models are an important ingredient needed t o make an area a science . The particular model presented here, however, is only one o f several possibilities . It has its strengths and weaknesses . It is appropriate for som e types of displays and not for others .3. The data model .Since the type PV displays that are of interest here are concerned with a program' s action on its data structures, we need a precise way of talking about the data structure s involved . There are schemes for defining and classifying data structures .