Program comprehension tools extract, organize and analyze information about the design and implementation of software systems. Before tools can exchange information, they must share, at some level, the organization for the data exchanged. That is, they must share a schema. In this paper we examine the various ways in which schemas are represented and used in tools. Schema use is classified according to how and where a schema is defined, leading to the identification of four patterns of exchange. We examine these exchange patterns and discuss how each has been used in existing tool integration technologies. An evaluation of each exchange pattern against the requirements for a standard exchange format reveal the pattern of schema use that is most suitable for integrating tools.
Dean Jin, James R. Cordy, Thomas R. Dean