Abstract

Software architecture (SA) has a prominent role in all stages of system development. Given the persistent evolution of software systems over time, SA tends to be eroded or degraded. Such phenomenon is called architectural degradation. In light of this phenomenon, the current study focuses on problems of architectural erosion in the open-source software (OSS). There has been a significant research activity on the OSS over the last decade. Nonetheless, the architectural degradation problems in the OSS are still scattered and disorganized. In addition, there has been no systematic attempt made on existing studies to provide evidence, insight and better understanding for researchers and practitioners. The main objective of the present study is to provide a profound understanding and to review the existing studies on the architectural erosion of the OSS. In this study, we conduct a systematic literature review (SLR) to gather, organize, classify, and analyze the architectural degradation of previous papers published until the year 2020. The data for this study were collected from eight major online databases (ACM, Springer, ScienceDirect, Taylor, IEEE Explorer, Scopus, Web of Science, and Wiley). A total of 74 primary studies were identified as the final samples of this research. The results indicated that rapid software evolution, frequent changes, and the lack of developers’ awareness are the most common causes occurred in architecture degradation. Meanwhile, the prominent key indicators of architectural erosion symptoms are code smells and architectural smells. Additionally, the results indicated the most commonly used of the proposed solution for addressing architectural erosion is the metrics-based strategy. Acknowledging the limitations of the current study, more studies are needed that focus on determining other causes that are still ambiguous and improving the other solutions to provide better results in the precision and effectiveness of addressing architectural erosion.

Highlights

  • Modern societies have considerably been relying on largescale systems, which have a huge effect on our daily living, education, finance, healthcare, communication, transportation, entertainment, commerce, security, and defense [1]

  • RQ1) WHAT ARE THE POSSIBLE REASONS FOR THE OCCURRENCE OF ARCHITECTURAL DEGRADATION? This question identifies the possible causes that contribute to architectural degradation in the open-source software (OSS) community

  • The results indicated that most of the causes of architectural degradation, which have a significant actual impact, are the rushed evolution of systems, recurring changes, lack of developer’s awareness, time pressure and accumulation of design decisions

Read more

Summary

Introduction

Modern societies have considerably been relying on largescale systems, which have a huge effect on our daily living, education, finance, healthcare, communication, transportation, entertainment, commerce, security, and defense [1]. Software architecture (SA) domain has been broadly adopted, with only mere attention [4] as a significant subfield of software engineering from the past decade, in research and industry [5] as well as software development [6]. SA is considered the basic structure block for establishing any system, as it is the crucial and important factor in defining, succeeding, and developing systems design [7] as well as quality criteria [8], which makes it one of the most fundamental issues in designing and developing software today. A. SOFTWARE ARCHITECTURE Over the recent decades of the last century, SA has emerged as the initial comprehension of the large-scope structures of software systems. Architecture is regarded as a core of software engineering that most accurately specifies the heart of software systems design and development [9]. Accomplishing non-functional and functional requirements is one of the most widely provided parts by SA since it is an integral part of the life-cycle of software evolution [22]

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call