Measuring graph abstractions of software: an information-theory approach
Edward B. Allen · 2003
A graph composed of nodes and edges may be an abstraction of a software system and a subgraph may represent a software module. Software-design graphs depict components and their relationships. Building on prior work by E.B. Allen, T.M. Khoshgoftaar and Y. Chen (2001), this paper proposes information theory-based measures on graphs at the system and module levels for application to software. We propose measures of size, length, complexity, coupling and cohesion which largely conform to the properties of these attributes defined by L.C. Briand, S. Morasca and V.R. Basili (1996, 1997). We illustrate the measures with examples and suggest extensions for hypergraphs.