• DocumentCode
    2010098
  • Title

    Building program understanding tools using visitor combinators

  • Author

    Van Deursen, Arie ; Visser, Joost

  • Author_Institution
    CWI, Amsterdam, Netherlands
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    137
  • Lastpage
    146
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension, 2002. Proceedings. 10th International Workshop on
  • ISSN
    1092-8138
  • Print_ISBN
    0-7695-1495-2
  • Type

    conf

  • DOI
    10.1109/WPC.2002.1021335
  • Filename
    1021335