Controlling software architecture erosion: A survey

被引:102
|
作者
de Silva, Lakshitha [1 ]
Balasubramaniam, Dharini [1 ]
机构
[1] Univ St Andrews, Sch Comp Sci, St Andrews KY16 9SX, Fife, Scotland
关键词
Software architecture; Architecture erosion; Design erosion; Software decay; Controlling architecture erosion; Survey; DESIGN; MANAGEMENT; FRAMEWORK; MISMATCH; REUSE; MODEL;
D O I
10.1016/j.jss.2011.07.036
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. (C) 2011 Elsevier Inc. All rights reserved.
引用
收藏
页码:132 / 151
页数:20
相关论文
共 50 条
  • [1] Erosion-control software - A survey of software options
    Sipes, JL
    [J]. LANDSCAPE ARCHITECTURE, 1999, 89 (07): : 40 - +
  • [2] Mastering Erosion of Software Architecture in Automotive Software Product Lines
    Strasser, Arthur
    Cool, Benjamin
    Gernert, Christoph
    Knieke, Christoph
    Koerner, Marco
    Niebuhr, Dirk
    Peters, Henrik
    Rausch, Andreas
    Brox, Oliver
    Jauns-Seyfried, Stefanie
    Jelden, Hanno
    Klie, Stefan
    Kraemer, Michael
    [J]. SOFSEM 2014: THEORY AND PRACTICE OF COMPUTER SCIENCE, 2014, 8327 : 491 - 502
  • [3] Recommending Refactorings to Reverse Software Architecture Erosion
    Terra, Ricardo
    Valente, Marco Tulio
    Czarnecki, Krzysztof
    Bigonha, Roberto S.
    [J]. 2012 16TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2012, : 335 - 340
  • [4] A Proposed Software Architecture for Controlling a Service Robot
    Lourdes Luna-Gallegos, Karla
    Ruth Palacios-Hernandez, Elvia
    Hernandez-Mendez, Sergio
    Marin-Hernandez, Antonio
    [J]. 2015 IEEE INTERNATIONAL AUTUMN MEETING ON POWER, ELECTRONICS AND COMPUTING (ROPEC), 2015,
  • [5] Preventing Software Architecture Erosion Through Static Architecture Conformance Checking
    De Silva, Mahesh
    Perera, Indika
    [J]. 2015 IEEE 10TH INTERNATIONAL CONFERENCE ON INDUSTRIAL AND INFORMATION SYSTEMS (ICIIS), 2015, : 43 - 48
  • [6] Evaluating Software Architecture Erosion for PL/SQL Programs
    Altinisik, Metin
    Ersoy, Ersin
    Sozer, Hasan
    [J]. 11TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE (ECSA 2017) - COMPANION VOLUME, 2017, : 160 - 166
  • [7] An experience report on detecting and repairing software architecture erosion
    Fontana, Francesca Arcelli
    Roveda, Riccardo
    Zanoni, Marco
    Raibulet, Claudia
    Capilla, Rafael
    [J]. 2016 13TH WORKING IEEE/IFIP CONFERENCE ON SOFTWARE ARCHITECTURE (WICSA), 2016, : 21 - 30
  • [8] Understanding software architecture erosion: A systematic mapping study
    Li, Ruiyin
    Liang, Peng
    Soliman, Mohamed
    Avgeriou, Paris
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2022, 34 (03)
  • [9] Identifying Software Architecture Erosion Through Code Comments
    Bandara, Vidudaya
    Perera, Indika
    [J]. 2018 18TH INTERNATIONAL CONFERENCE ON ADVANCES IN ICT FOR EMERGING REGIONS (ICTER) CONFERENCE PROCEEDINGS, 2018, : 62 - 69
  • [10] Survey and Comparison of Frameworks in Software Architecture
    Mary, S. Roselin
    Rodrigues, Paul
    [J]. ADVANCES IN COMPUTING AND COMMUNICATIONS, PT 4, 2011, 193 : 9 - +