Title :
Supporting program comprehension using semantic and structural information
Author :
Maletic, Jonathan I. ; Marcus, Andrian
Author_Institution :
Dept. of Math. Sci., Memphis Univ., TN, USA
Abstract :
Focuses on investigating the combined use of semantic and structural information of programs to support the comprehension tasks involved in the maintenance and reengineering of software systems. "Semantic information" refers to the domain-specific issues (both the problem and the development domains) of a software system. The other dimension, structural information, refers to issues such as the actual syntactic structure of the program, along with the control and data flow that it represents. An advanced information retrieval method, latent semantic indexing, is used to define a semantic similarity measure between software components. Components within a software system are then clustered together using this similarity measure. Simple structural information (i.e. the file organization) of the software system is then used to assess the semantic cohesion of the clusters and files with respect to each other. The measures are formally defined for general application. A set of experiments is presented which demonstrates how these measures can assist in the understanding of a nontrivial software system, namely a version of NCSA Mosaic.
Keywords :
data flow analysis; indexing; information retrieval; online front-ends; program control structures; reverse engineering; software maintenance; software metrics; systems re-engineering; NCSA Mosaic; control flow; data flow; domain-specific issues; file organization; information retrieval method; latent semantic indexing; problem domain; program comprehension; semantic cohesion; semantic information; semantic similarity measure; software component clustering; software development domain; software systems maintenance; software systems reengineering; structural information; syntactic program structure; Application software; Computer languages; Computer science; Data mining; Documentation; Indexing; Information retrieval; Natural languages; Software measurement; Software systems;
Conference_Titel :
Software Engineering, 2001. ICSE 2001. Proceedings of the 23rd International Conference on
Print_ISBN :
0-7695-1050-7
DOI :
10.1109/ICSE.2001.919085