A. van Deursen and L. Moonen (2006)
Documenting Software Systems Using Types
Science of Computer Programming 60(2):205–220
We show how hypertext-based program understanding tools can achieve new levels of abstraction by using inferred type information for cases where the subject software system is written in a weakly typed language. We propose TypeExplorer, a tool for browsing COBOL legacy systems based on these types. The paper addresses (1) how types, an invented abstraction, can be presented meaningfully to software re-engineers; (2) the implementation techniques used to construct TypeExplorer; and (3) the use of TypeExplorer for understanding legacy systems, at the level of individual statements as well as at the level of the software architecture — which is illustrated by using TypeExplorer to browse an industrial COBOL system of 100,000 lines of code.
