PhD DATABASE

Title:  
ArchView - Analyzing Evolutionary Aspects of Complex Software Systems
Abstract:  
Large and complex software systems are confronted with continuous changes during all
stages in their life comprising development, maintenance, migration, and retirement. On the
one side these changes are mandatory to guarantee the success of a software system but on the
other side changes affect the architecture and design of a software system. Therefore, a continuous
observation and analysis of the architecture and the design is mandatory to early identify
errors and shortcomings and resolve them.
In this dissertation we propose the ArchView approach that focuses on the analysis and evaluation
of software modules regarding their structural and evolutionary aspects. Software modules
are architectural elements that are implemented in source files, classes or aggregations of them.
The primary objective of our work is the identification of modules and structures that represent
Bad Smells in the source code, the design, and the architecture to be resolved.
For the analysis and evaluation of the structural and evolutionary properties of software modules
ArchView basically uses software metrics and coupling dependencies between modules.
Metrics assess the size, complexity, coupling degree, modification and problem frequency of
modules. In combination with coupling dependencies they provide information about the quality
of an implementation. Regarding the evolution we perform these measurements for a number of
releases to yield trend data that points us to shortcomings (Bad Smells) in the implementation,
design, and architecture.
For the presentation of the results ArchView uses graphs in which nodes represent modules
and edges represent the coupling relationships. To handle the huge amount of information we introduce
an extended graph visualization technique that is based on the principle of measurement
mapping. Our technique facilitates the representation of modules with multiple metric values of
a number of releases, and their coupling relationships in one graph. The so created graphs allow
us to visually identify those modules and coupling dependencies that indicate Bad Smells.
We demonstrate and validate the ArchView approach in a large case study with the Mozilla
open source project. Results clearly show the structural and evolutionary properties of Mozilla
and point to Bad Smells in the architecture and the design.
URL:  
Area of Science:  
Software Systems
PhD Student:  
Martin Pinzger
E-mail:  
Scientific Adviser:  
Harald Gall, Mehdi Jazayeri
E-mail:  
University:  
Technical University of Vienna
City:  
Vienna
Country:  
Austria