Skip to content

Research at St Andrews

Controlling Software Architecture Erosion: A Survey

Research output: Contribution to journalArticle


Lakshitha Ramesh De Silva, Dharini Balasubramaniam

School/Research organisations


Software architectures capture the most significant properties and design constraints of software systems. Thus, modifications to a system that violate its architectural principles can degrade system performance and shorten its useful lifetime. As the potential frequency and scale of software adaptations increase to meet rapidly changing requirements and business conditions, controlling such architecture erosion becomes an important concern for software architects and developers. This paper presents a survey of techniques and technologies that have been proposed over the years either to prevent architecture erosion or to detect and restore architectures that have been eroded. These approaches, which include tools, techniques and processes, are primarily classified into three generic categories that attempt to minimise, prevent and repair architecture erosion. Within these broad categories, each approach is further broken down reflecting the high-level strategies adopted to tackle erosion. These are: process-oriented architecture conformance, architecture evolution management, architecture design enforcement, architecture to implementation linkage, self-adaptation and architecture restoration techniques consisting of recovery, discovery and reconciliation. Some of these strategies contain sub-categories under which survey results are presented.

We discuss the merits and weaknesses of each strategy and argue that no single strategy can address the problem of erosion. Further, we explore the possibility of combining strategies and present a case for further work in developing a holistic framework for controlling architecture erosion.


Original languageEnglish
Pages (from-to)132–151
JournalJournal of Systems and Software
Issue number1
Publication statusPublished - Jan 2012

Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

Related by author

  1. Support for traceability management of software artefacts using natural language processing

    Arunthavanathan, A., Shanmugathasan, S., Ratnavel, S., Thiyagarajah, V., Perera, I., Meedeniya, D. & Balasubramaniam, D., 26 May 2016, 2nd International Moratuwa Engineering Research Conference, MERCon 2016; Civil Engineering Complex, University of Moratuwa, Katubedda, Moratuwa; Sri Lanka; 5 April 2016 through 6 April 2016. Institute of Electrical and Electronics Engineers Inc., p. 18-23 7480109

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  2. Handling the differential evolution of software artefacts: a framework for consistency management

    Pete, I. & Balasubramaniam, D., 2 Mar 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, p. 599-600

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  3. Tool support for Traceability of Software Artefacts

    Kamalabalan, K., Uruththirakodeeswaran, T., Thiyagalingam, G., Wijesinghe, D. B., Perera, I., Meedeniya, D. & Balasubramaniam, D., 2015.

    Research output: Contribution to conferencePaper

  4. PANDArch: A Pluggable Automated Non-intrusive Dynamic Architecture Conformance Checker

    De Silva, L. R. & Balasubramaniam, D., Jul 2013.

    Research output: Contribution to conferencePaper

  5. Maintaining Architectural Conformance during Software Development: A Practical Approach

    Dimech, C. & Balasubramaniam, D., Jul 2013.

    Research output: Contribution to conferencePaper

Related by journal

  1. Requirement process establishment and improvement from the viewpoint of cybernetics

    Xu, H., Sawyer, P. & Sommerville, I., Nov 2006, In : Journal of Systems and Software. 79, 11, p. 1504-1513 10 p.

    Research output: Contribution to journalArticle

ID: 11811029