Recovering Architectural Assumptions

R. Roeller, P. Lago, H. van Vliet

Research output: Contribution to JournalArticleAcademicpeer-review


During the creation of a software architecture, the architects and stakeholders take a lot of decisions. Many of these decisions can be directly related to functional or quality requirements. Some design decisions, though, are more or less arbitrarily made on the fly because of personal experience, domain knowledge, budget constraints, available expertise, and the like. These decisions, as well as the reasons for those decisions, are often not explicit upfront. They are implicit, and usually remain undocumented. We call them assumptions. There is no accepted way to document assumptions, and the relation between the software architecture and these assumptions easily gets lost, becomes hidden in the girders of the architecture. They are rediscovered at a later stage, when the software evolves and assumptions become invalid or new assumptions contradict earlier ones. In this paper, we develop a method to recover such assumptions from an existing software product. We illustrate the method by applying it to a commercial software product, and show how the results can help assess the evolutionary capabilities of its architecture. © 2005 Elsevier Inc. All rights reserved.
Original languageEnglish
Pages (from-to)552-573
JournalJournal of Systems and Software
Issue number4
Publication statusPublished - 2006

Bibliographical note



Dive into the research topics of 'Recovering Architectural Assumptions'. Together they form a unique fingerprint.

Cite this