Options
2007
Bachelor Thesis
Titel
Evaluating the architectural coverage of runtime traces
Abstract
Software systems are becoming more and more omnipresent and pervasive in our daily environment. A life without software systems is not imaginable anymore. As a matter of fact it is important that software systems meet today's high quality requirements. To achieve those, it is of paramount importance that the evolution of existing systems as well as the construction of new systems is carried out very carefully. To deliver good software, it is a prerequisite that development teams precisely know how systems behave at runtime, thereby enabling them to check compliance between the intended and the actual system behavior. This thesis contributes to the comparison process between the runtime behavior and the static architecture of a software system. In the conceptual part of this work, the different elements of a software system are partitioned into categories. Furthermore, algorithms to perform this classification are introduced. These are applied to a set of runtime traces and the resulting classification of components and relations is used to determine the architectural coverage of the traces. The architectural coverage is a metric that measures the degree to which elements in recorded runtime behavior (e.g. in a trace) capture elements of the static structure of the software system´s architecture. Because these traces are generally created by running dynamic test cases, it is possible to indirectly make a statement on the quality of the test cases. In the practical part of this work, the technical feasibility of the theoretical concepts is proven in form of a prototype application. This prototype is realized as an extension to the Software Architecture Visualization and Evaluation tool (SAVE), an application developed by the Fraunhofer Institute for Experimental Software Engineering in Kaiserslautern. The prototype supports importing, visualizing and evaluating dynamic runtime data and can detect common, unique and variable components among a set of runtime traces. Based on this information, the tool computes the degree of coverage for each type of components. Furthermore, the tool enables the abstraction and visualization of traces, thus offering an approach to support architecture reconstruction.
ThesisNote
Kaiserslautern, TU, Bachelor Thesis, 2007
Verlagsort
Kaiserslautern