Related work

Most of the tools in program comprehension were constructed form some specific language and are totally dependent of that language. Most of them use parsers automatically generated, and compiler techniques to process information. These parsers are used to transform the source code in order to instrument it with inspection functions or special data types. They can be also used to construct an internal representation of the program. This representation can be then systematically used to generate explanations, statistics, structured information, visualization or animation of programs.

Some examples of tools that create and use internal representation as the core of the tool are:

  • CodeSurfer - A program-understanding tool that makes manual review of code easier and faster.
  • Moose - A reverse engineering tool to visualize, analyze and manipulate complex software systems.
  • CANTO - Comprehension and maintenance software tool.
  • Bauhaus - Tool for analysis and reengineering of programs.
  • TKSee - A graphical code browsing tool.
  • SeeSoft - A visualization system that allows to analyze up to 50000 lines of code simultaneously by mapping each line of code into a thin row (statistics views).
To get more information about tools in program comprehension see PCVIA homepage.