Influence of Synchronized Domain Visualizations on Program Comprehension Nuno Oliveira University of Minho Braga, Portugal nunooliveira@di.uminho.pt Maria Jo˜ ao Varanda Pereira Polythecnic Institute of Braganc ¸a Braganc ¸a, Portugal mjoao@ipb.pt Daniela da Cruz University of Minho Braga, Portugal danieladacruz@di.uminho.pt Mario Ber ´ on National University of San Luis San Luis, Argentina mberon@unsl.edu.ar Abstract An effective program comprehension is reached when it is possible to view and relate what happens when the pro- gram is executed, synchronized with its effects in the real world concepts. This enables the interconnection of pro- gram’s meaning at both problem and program domains. To sustain this statement we need (i) to develop a tool which provides and synchronizes views at both domains, and (ii) to perform an experiment to measure the actual impact of this approach. So, in this working session we aim at discussing the ben- efits of providing synchronized domain visualizations. We also envisage to discuss the preparation and conduction of appropriate experiments that will test that benefits. A case study will be used and the discussion will be sup- ported by experimental material specially prepared for the occasion, but adapted from material already used in previ- ous experiments. 1 Introduction Brooks [1] and others [5, 6, 11], stated that a complete understanding of a program is reached when the analyst can relate the program domain—how statements are executed (operational semantics)—with the problem domain—what are the effects caused by the execution of those statements (logical semantics). We adhered to such approach and started the systematic development of tools to help system maintainers to under- stand programs. The construction of Program Comprehen- sion (PC) tools involves the use of specific methods and techniques to: (i) extract data from code, (ii) store the information gathered, and (iii) explore it to obtain new knowledge. However, this is not enough to attain the effec- tiveness of these tools, it is also required to research other areas, for example, human perception, reasoning and cog- nitive models. This is used to create specific artifacts for user interaction like graphic representations, navigation fa- cilities, animations and other interface features. Working with generic programming languages (GPLs), it was possible to develop generic tools to explore the source code at program level, but it could not be expected the same possibility concerning the visualization and manipulation at problem level. Motivated by the hypothesis that in a nar- rower and well defined domain we could synchronize the in- ternal program execution and the effects provoked in the ob- jects of the problem domain, we believe that we should fo- cus on Domain Specific Languages (DSLs) to study Brooks theory. To fire up the discussion around this topic, we will take as case study Alma 2 [9], an upgraded version of Alma [2], developed to cope with programs written in DSLs. Alma system only provides program domain visualizations based on program internal representations. Alma 2 takes a pro- gram, written in a DSL, and animates it (trough an abstract interpretation), displaying in a synchronized mode what happens internally during the execution of each statement and what are the effects of the execution over a graphical representation of the problem domain. So, Alma 2 enabled us to study the behavior of domain specific programs, observing the synchronized visualiza- tions of both domains; it will be used to test the working hypotheses. The way we found to do such tests is to design experi- mental sessions on program understanding with Alma and Alma 2 , measuring the user reaction in terms of time and accuracy of the answers. In this working session we will take a set of already pre-