Toward Architectural Knowledge Sustainability. New Opportunities to Extend the Longevity of Systems

Toward Architectural Knowledge Sustainability. New Opportunities to   Extend the Longevity of Systems
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

Complex software systems must be maintained for years or decades, and the effort and cost to maintain them are often high, involving continuous refactoring to ensure their longevity in the face of changing requirements. In this article, we introduce the notion of architectural knowledge (AK) sustainability as a new concept to support architects dealing with the evolution of long-lived systems. Architecture sustainability refers to the ability of the architecture to endure over time with the minimum number of refactoring cycles possible. We suggest that sustainability of the AK is a function of how stable the decisions are, and we discuss a set of sustainability criteria and metrics useful to estimate the sustainability of this AK.


💡 Research Summary

The paper introduces the concept of Architectural Knowledge (AK) sustainability as a means to support the long‑term evolution of complex software systems. While traditional software quality metrics focus on code or design artifacts, the authors argue that the longevity of an architecture depends heavily on the stability of its design decisions and the explicit documentation of those decisions. They define architectural sustainability as the ability of an architecture to endure over time with the minimum number of refactoring cycles, and they propose that this sustainability can be measured through a set of quantitative criteria and metrics.

Three families of metrics are presented. The first family, ripple‑effect metrics, quantifies how a change in one design decision propagates to other decisions. A high ripple effect indicates tightly coupled decisions and a fragile architecture. The second family, instability metrics, combines a theoretical probability model with an empirical change‑proneness model to predict the likelihood that a given architectural element will need to change in the future. This family uses historical change data and the proportion of ripple effects to compute a probability of future change. The third family, code‑oriented metrics, detects anti‑patterns such as God classes (Blob) and measures coupling and cohesion, providing indirect evidence of decision quality.

The authors stress that the documentation of decisions—whether through formal decision models (e.g., decision networks, ADLs) or lightweight templates—creates a graph‑like structure whose properties can be measured. Graph metrics such as NodeCount, EdgeCount, NumberOfChildren, and NumberOfFields capture the size and complexity of the decision network. A larger, more interconnected network typically requires more effort to maintain and is more prone to decay.

Based on these observations, the paper outlines a practical evaluation process:

  1. Select a quality attribute (e.g., maintainability, reliability) that is relevant to sustainability.
  2. Map the attribute to one or more metric criteria defined in the paper.
  3. Collect input values such as the number of refactorings, frequency of decision changes, ripple‑effect counts, and graph properties of the decision network.
  4. Apply appropriate algorithms (graph‑theoretic analysis, static code analysis) to compute raw metric values.
  5. Normalize and combine the metrics using a weighted formula to produce a single sustainability indicator for the chosen attribute.
  6. Repeat for other attributes and track trends over time.

The authors argue that the number of design decisions that must be maintained, the frequency of their changes, and the quality of trace links between decisions and other artifacts are key predictors of architectural sustainability. They note that good decisions should be stable over long periods, only being revisited when a major architectural shift is required.

Although the paper does not present empirical case studies, it references domains such as automotive and avionics where stable architectures are critical. It also acknowledges the current lack of automated tooling for many of the proposed metrics, suggesting that manual calculation is still valuable and that future research should focus on tool support and the definition of new, automatically computable metrics.

In conclusion, the work expands the discourse on software quality by introducing a sustainability perspective centered on architectural knowledge. By combining ripple‑effect, instability, and code‑level metrics with explicit decision documentation, architects gain a quantitative means to monitor architectural health, anticipate decay, and plan refactoring activities more efficiently. This approach promises to reduce long‑term maintenance costs, control technical debt, and ultimately extend the useful life of complex software systems.


Comments & Academic Discussion

Loading comments...

Leave a Comment