search menu icon-carat-right cmu-wordmark

Assessing Architectural Complexity

White Paper
This paper describes a system, called IAPR, that aids in architectural exploration and measurement by attempting to match patterns to an architecture.
Publisher

Software Engineering Institute

Abstract

While it is widely agreed that architectural simplicity is a key factor to the success of large software systems, it is not obvious how to measure architectural complexity. Our approach to measuring complexity is based on observation that large systems with a regular substructure are simple to create and maintain, whereas even relatively small systems created in an ad hoc fashion quickly become unmaintainable. This paper describes a system, called IAPR, that aids in architectural exploration and measurement by attempting to match patterns to an architecture. To do this, IAPR implements a heuristic form of sub-graph isomorphism—an NP-hard problem—using the Constraint Satisfaction paradigm to limit the complexity of the problem space.