SEApr 16, 2017

Uncovering Architectural Design Decisions

arXiv:1704.04798v124 citations
Originality Incremental advance
AI Analysis

This addresses a foundational gap in software architecture research for developers and maintainers, though it is incremental as it builds on prior perspectives.

The paper tackles the problem of understanding architectural design decisions in software systems by developing a technique to define, identify, classify, reify, and evolve them, and it demonstrates accuracy in uncovering these decisions across over 100 versions of two open-source systems.

Over the past three decades, considerable effort has been devoted to the study of software architecture. A major portion of this effort has focused on the originally proposed view of four "C"s---components, connectors, configurations, and constraints---that are the building blocks of a system's architecture. Despite being simple and appealing, this view has proven to be incomplete and has required further elaboration. To that end, researchers have more recently tried to approach architectures from another important perspective---that of design decisions that yield a system's architecture. These more recent efforts have lacked a precise understanding of several key questions, however: (1) What is an architectural design decision (definition)? (2) How can architectural design decisions be found in existing systems (identification)? (3) What system decisions are and are not architectural (classification)? (4) How are architectural design decisions manifested in the code (reification)? (5) How can important architectural decisions be preserved and/or changed as desired (evolution)? This paper presents a technique targeted at answering these questions by analyzing information that is readily available about software systems. We applied our technique on over 100 different versions of two widely adopted open- source systems, and found that it can accurately uncover the architectural design decisions embodied in the systems.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes