Not logged in.

Contribution Details

Type Dissertation
Scope Discipline-based scholarship
Title ArchView - Analyzing Evolutionary Aspects of Complex Software Systems
Organization Unit
Authors
  • Martin Pinzger
Institution Vienna University of Technology
Faculty
Date 2005
Abstract Text 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 needed to early identify 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 characteristics. Software modules are architectural elements that are implemented in source files, classes, or aggregations of them. The primary objective of our approach is to extract higher-level views of software modules and their dependency relationships that allow the spectator to identify structural and evolutionary shortcomings. For the analysis of the structural and evolutionary characteristics of software modules ArchView uses software metrics and coupling relationships. Software metrics quantify the size, complexity, coupling degree, modification and problem frequency of software modules. Coupling relationships show change as well as implemented dependency relationships between modules. Both, metrics and coupling relationships are computed for a number of subsequent source code releases giving insights into the evolution of modules. For the identification of structural and evolutionary shortcomings ArchView introduces a graph representation technique that is based on the principle of measurement mapping. Metric values are mapped to graphical attributes highlighting in particular modules and dependency relationships with noticeable structural and evolutionary characteristics. To handle the various characteristics we present a number of different view configurations that we implemented in a prototype tool. They can be extended and used by engineers in everyday analysis tasks. The evaluation and validation of the ArchView approach and its different view configurations is done with the large open source project Mozilla. We focus on the analysis of the content and layout modules with different higher-level views. Resulting views clearly show the usefulness of ArchView to visualize structural and evolutionary characteristics of Mozilla modules and point out a number of shortcomings in their design.
Zusammenfassung Grosse und komplexe Software Systeme sind laufenden Anderungen ausgesetzt, die in allen Lebensabschnitten auftreten, wie in der Entwicklung, Wartung, Migration und Ausscheidung. Diese Anderungen sind einerseits notwendig, um den Erfolg eines Software Systems zu garantieren. Andererseits haben sie Auswirkungen auf die Architektur und das Design eines Software Systems. Aus diesem Grunde muessen die Architektur und das Design laufend ueberwacht werden, um Schwachstellen fruehzeitig zu erkennen und zu beheben. In dieser Dissertation stellen wir den ArchView Ansatz vor, der sich mit der Analyse und Bewertung von Software Modulen hinsichtlich ihrer strukturellen und evolutionaeren Eigenschaften befasst. Software Module sind architekturelle Elemente, die durch Source Dateien, Klassen oder Aggregationen von diesen implementiert werden. Das primaere Ziel unsere Arbeit ist die Extraktion von abstrakten Sichten auf Software Module und deren Kopplungsbeziehungen, welche dem Betrachter die Identifikation von strukturellen und evolutionaeren Unzulaenglichkeiten ermoeglicht. Fuer die Analyse der strukturellen und evolutionaeren Eigenschaften von Software Modulen verwendet ArchView Software Metriken und Kopplungsbeziehungen. Software Metriken quantifizieren die Groesse, Komplexitaet, Kopplungsgrad, Aenderungs- und Fehlerhaeufigkeit von Modulen. Kopplungsbeziehungen zeigen Aenderungs- so wie auch implementierte Abhaengigkeitsbeziehungen zwischen Modulen. Beide, Metriken und Kopplungsbeziehungen werden fuer eine Anzahl von aufeinanderfolgenden Source Code Versionen berechnet und geben so einen Einblick in die Evolution von Modulen. Fuer die Identifikation von strukturellen und evolutionaeren Unzulaenglichkeiten fuehrt ArchView eine Graphdarstellungs-Technik ein, die auf dem Prinzip von “Measurement Mapping” beruht. Metrikwerte werden auf graphische Attribute abgebildet, um besonders jene Module und Abhaengigkeitsbeziehungen mit auffallenden strukturellen und evolutionaeren Eigenschaften hervorzuheben. Um verschiedenste Eigenschaften zu behandeln, praesentieren wir eine Anzahl von unterschiedlichen Konfigurationen, die wir in einem Prototypen implementiert haben. Diese koennen Entwickler fuer ihre alltaeglichen Analyse-Aufgaben verwenden und erweitern. Die Evaluierung und Validierung des ArchView Ansatzes und der verschiedenen Konfigurationen wird anhand des grossen Open Source Projekt Mozilla durchgefuehrt. Dabei liegt der Fokus auf der Analyse der Content und Layout Module mittels unterschiedlicher abstrakten Sichten. Die Resultate der Fallstudie zeigen klar die Verwendbarkeit von ArchView fuer die Visualisierung von strukturellen und evolutionaeren Eigenschaften von Mozilla Modulen und fuer die Hervorhebung einer Anzahl von Schwachstellen in derem Design.
PDF File Download
Export BibTeX
EP3 XML (ZORA)