Font Size: a A A

Design conformance management of software systems: An architecture-oriented approach

Posted on:1997-01-28Degree:Ph.DType:Thesis
University:University of Illinois at Urbana-ChampaignCandidate:Sefika, MohlalefiFull Text:PDF
GTID:2468390014980595Subject:Computer Science
Abstract/Summary:PDF Full Text Request
Maintenance remains by far the most expensive phase of software products. One primary reason is because as a complex software system evolves, its implementation tends to diverge from the intended or documented design models. Such undesirable deviation makes the system hard to understand, modify, and maintain.; This thesis presents a hybrid, tool-based approach for increasing confidence in a software system's faithfulness to its design commitments and rules. The approach closely integrates static analysis of structure and dynamic visualization, providing multiple code views and perspectives. I show that the hybrid technique helps monitor implementation evolution for conformance to a wide spectrum of design concerns, including performance, resource usage, design patterns, and cohesion and coupling heuristics.; The task of design-implementation congruence assessment involves tracking the changing dynamics of frameworks, design patterns, architectural styles, and subsystems. Unfortunately, current programming tools are relatively oblivious to the rich architectural abstractions in a system. This thesis demonstrates that architecture-oriented visualization, the presentation of system statics and dynamics in terms of its architectural abstractions, is highly beneficial in design consistency reviews. I illustrate the impact of the scheme with several case studies from a real-world system: the Choices object-oriented operating system.; Fundamental to the hybrid software evaluation method presented in this thesis is architecture-aware instrumentation, a new technique for building efficient on-line instrumentation to support architecture queries. Architecture-aware instrumentation explicitly represents architectural structures in a running system and exploits this knowledge to optimize instrumentation. I present performance data that shows that an architecture-aware instrumentation generates dramatically less trace data and introduces far less overhead than conventional, flat, method-level instrumentation.
Keywords/Search Tags:Software, System, Architecture-aware instrumentation
PDF Full Text Request
Related items