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

Roy H. Campbell, Mohlalefi Sefika · 1996

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 {\em 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 architectural 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.

Read the paper · More papers on PaperTik