Title :
Building program understanding tools using visitor combinators
Author :
Van Deursen, Arie ; Visser, Joost
Author_Institution :
CWI, Amsterdam, Netherlands
Abstract :
Program understanding tools manipulate program representations, such as abstract syntax trees, control-flow graphs or data-flow graphs. This paper deals with the use of visitor combinators to conduct such manipulations. Visitor combinators are an extension of the well-known visitor design pattern. They are small, reusable classes that carry out specific visiting steps. They can be composed in different constellations to build more complex visitors. We evaluate the expressiveness, reusability, ease of development and applicability of visitor combinators to the construction of program understanding tools. To that end, we conduct a case study in the use of visitor combinators for control-flow analysis and visualization as used in a commercial Cobol program understanding tool.
Keywords :
COBOL; computer aided software engineering; flow graphs; object-oriented methods; program diagnostics; reverse engineering; software reusability; software tools; Cobol program understanding tool; abstract syntax trees; case study; constellations; control-flow analysis; control-flow graphs; data-flow graphs; ease of development; expressiveness; program analysis; program comprehension; program representations manipulation; reusability; reusable classes; software visualization; tool construction applicability; visiting steps; visitor combinators; visitor design pattern; Concrete; Context modeling; Design engineering; Flow graphs; Pattern analysis; Software design; Solid modeling; Testing; Tree graphs; Visualization;
Conference_Titel :
Program Comprehension, 2002. Proceedings. 10th International Workshop on
Print_ISBN :
0-7695-1495-2
DOI :
10.1109/WPC.2002.1021335