Monitoring compliance of a software system with its high-level design models
Mohlalefi Sefika, Aamod Sane, Roy H. Campbell
Abstract
Mohlalefi Sefika, Aamod Sane, Roy H. Campbell
Abstract
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 paper presents a hybrid computer-assisted approach for confirming that the implementation of a system maintains its expected design models and rules. Our approach closely integrates logic-based static analysis and dynamic visualization, providing multiple code views and perspectives. We show that the hybrid technique helps determine design-implementation congruence at various levels of abstraction: concrete rules like coding guidelines, architectural models like design patterns[7] or connectors[26], and subjective design prin-ciples like low coupling and high cohesion. The utility of our approach has been demonstrated in the development of Choices, a new multimedia operating system which in-herits many design decisions and guidelines learned from experience in the construction and maintenance of its pre-decessor, Choices. 1
OpenAlex reports 126 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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 paper presents a hybrid computer-assisted approach for confirming that the implementation of a system maintains its expected design models and rules. Our approach closely integrates logic-based static analysis and dynamic visualization, providing multiple code views and perspectives. We show that the hybrid technique helps determine design-implementation congruence at various levels of abstraction: concrete rules like coding guidelines, architectural models like design patterns[7] or connectors[26], and subjective design prin-ciples like low coupling and high cohesion. The utility of our approach has been demonstrated in the development of Choices, a new multimedia operating system which in-herits many design decisions and guidelines learned from experience in the construction and maintenance of its pre-decessor, Choices. 1
Key concepts: Computer science, Cohesion (chemistry), Software engineering, Coding (social sciences), Abstraction, Structured systems analysis and design method, High-level design, Software system