Exploring legacy systems using types
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 TYPEXPLORER, a tool for browsing COBOL legacy systems based on these types. The paper addresses: how types, an invented abstraction, can be presented meaningfully to software re-engineers; the implementation techniques used to construct TYPEEXPLORER; and 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.