Title :
Illustrating Software Modifiability -- Capturing Cohesion and Coupling in a Force-Optimized Graph
Author :
Holvitie, Johannes ; Leppanen, Ville
Author_Institution :
Dept. of Inf. Technol., Univ. of Turku, Turku, Finland
Abstract :
Software visualization aims to provide a more human-readable interface for the various software system aspects and characteristics. As majority of the time spent on modifying software is spent on gaining an understanding of an intangible and virtual system, the area of software visualization is widely researched as a solution to this. The paper in question presents a program visualization approach that focuses on illustrating the two software modifiability characteristics of cohesion and coupling. Unlike other approaches, which provide a visual representation for precalculated values, it uses the underlying cohesion and coupling mechanics to derive the actual layout. This allows the user to perceive the entire structure that has resulted to the cohesion and coupling values present in viewed nodes. There are three distinct steps to our approach. 1) Semantic analysis is used to record the static program structure into a directed and weighted graph. 2) The graph is then laid out using force-optimization to highlight important implementation structures. Finally, 3) sub-graph separation and further visual aids are provided to aid the user in observing cohesion and coupling for specific areas. Discussed benefits for this approach include information production efficiency, the ability to quickly analyze even large software implementations and intuitiveness of the visual delivery method.
Keywords :
directed graphs; human computer interaction; program diagnostics; program visualisation; cohesion mechanics; cohesion values; coupling mechanics; coupling values; directed graph; force-optimized graph; human-readable interface; intangible system; program visualization; semantic analysis; software modifiability; software system aspects; software system characteristics; software visualization; static program structure; subgraph separation; virtual system; visual aids; visual representation; weighted graph; Context; Couplings; Layout; Measurement; Semantics; Software; Visualization; cohesion; coupling; program visualization; software maintenance;
Conference_Titel :
Computer and Information Technology (CIT), 2014 IEEE International Conference on
Conference_Location :
Xi´an
DOI :
10.1109/CIT.2014.112