English
Related papers

Related papers: Architectural Decay as Predictor of Issue- and Cha…

200 papers

Software architecture decision-making is critical to the success of a software system as software architecture sets the structure of the system, determines its qualities, and has far-reaching consequences throughout the system life cycle.…

Software Engineering · Computer Science 2016-10-31 Sandun Dasanayake , Jouni Markkula , Sanja Aaramaa , Markku Oivo

Architectural debt is a form of technical debt that derives from the gap between the architectural design of the system as it "should be" compared to "as it is". We measured architecture debt in two ways: 1) in terms of system-wide coupling…

Software Engineering · Computer Science 2018-12-03 Maleknaz Nayebi , Yuanfang Cai , Rick Kazman , Guenther Ruhe , Qiong Feng , Chris Carlson , Francis Chew

Software Interfaces are meant to describe contracts governing interactions between logic modules. Interfaces, if well designed, significantly reduce software complexity and ease maintainability . However, as software evolves, the…

Software Engineering · Computer Science 2013-02-07 Hani Abdeen , Osama Shata

Software design smells are design attributes which violate the fundamental design principles. Design smells are a key cause of design debt. Although the activities of design smell identification and measurement are predominantly considered…

Software Engineering · Computer Science 2019-10-15 Asif Imran , Tevfik Kosar

Software architecture is the foundation of a system's ability to achieve various quality attributes, including software performance. However, there lacks comprehensive and in-depth understanding of why and how software architecture and…

Software Engineering · Computer Science 2024-10-24 Yutong Zhao , Lu Xiao , Chenhao Wei , Rick Kazman , Ye Yang

Architecture erosion (AEr) can adversely affect software development and has received significant attention in the last decade. However, there is an absence of a comprehensive understanding of the state of research about the reasons and…

Software Engineering · Computer Science 2022-02-14 Ruiyin Li , Peng Liang , Mohamed Soliman , Paris Avgeriou

Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a…

Software Engineering · Computer Science 2021-03-02 Peter Kokol , Marko Kokol , Sašo Zagoranski

In the last 15 years, software architecture has emerged as an important software engineering field for managing the development and maintenance of large, software- intensive systems. Software architecture community has developed numerous…

Software Engineering · Computer Science 2017-01-24 Davide Falessi , Muhammad Ali Babar , Giovanni Cantone , Philippe Kruchten

The continuous software engineering paradigm is gaining popularity in modern development practices, where the interleaving of design and runtime activities is induced by the continuous evolution of software systems. In this context,…

Software Engineering · Computer Science 2024-01-31 Romina Eramo , Michele Tucci , Daniele Di Pompeo , Vittorio Cortellessa , Antinisca Di Marco , Davide Taibi

Simulation modelling systems are routinely used to test or understand real-world scenarios in a controlled setting. They have found numerous applications in scientific research, engineering, and industrial operations. Due to their complex…

Software Engineering · Computer Science 2024-09-09 Riasat Mahbub , Mohammad Masudur Rahman , Muhammad Ahsanul Habib

Code smells as symptoms of poor design and implementation choices. Many times they are the result of so called technical debt. Our study showed that the interest in code smells research is increasing. However, most of the publications are…

Software Engineering · Computer Science 2018-02-19 Peter Kokol , Milan Zorman , Grega Zlahtic , Bojan Zlahtic

Over the past decade, the wide adoption of Microservice Architecture has required the identification of various patterns and anti-patterns to prevent Microservice Architectural Degradation. Frequently, the systems are modelled as a network…

Software Engineering · Computer Science 2025-06-13 Alexander Bakhtin , Matteo Esposito , Valentina Lenarduzzi , Davide Taibi

Fault-proneness is a measure that indicates the possibility of programming errors occurring within a software system. On the other hand, change-proneness refers to the potential for modifications to be made to the software. Both of these…

Software Engineering · Computer Science 2025-07-17 Md. Masudur Rahman , Toukir Ahammed , Kazi Sakib

Over the past three decades, considerable effort has been devoted to the study of software architecture. A major portion of this effort has focused on the originally proposed view of four "C"s---components, connectors, configurations, and…

Software Engineering · Computer Science 2017-04-18 Arman Shahbazian , Youn Kyu Lee , Duc Le , Nenad Medvidovic

Architecture erosion is a big challenge in modern architectures leading to a deterioration of the quality properties of these systems. Today, no comprehensive approach for regaining architecture consistency in eroded software systems exists…

Software Engineering · Computer Science 2021-04-29 Christoph Knieke , Andreas Rausch , Mirco Schindler

In recent years, defect prediction has received a great deal of attention in the empirical software engineering world. Predicting software defects before the maintenance phase is very important not only to decrease the maintenance costs but…

Software Engineering · Computer Science 2018-08-31 Ahmet Okutan

This paper proposes some new architectural metrics which are appropriate for evaluating the architectural attributes of a software system. The main feature of our approach is to assess the complexity of a software architecture by analyzing…

Software Engineering · Computer Science 2007-05-23 Jianjun Zhao

Functional dependencies and feature interactions in automotive software systems are a major source of erroneous and deficient behavior. To overcome these problems, many approaches exist that focus on modeling these functional dependencies…

Software Engineering · Computer Science 2017-08-30 Andreas Vogelsang , Steffen Fuhrmann

Modern software development methodologies include reuse of open source code. Reuse can be facilitated by architectural knowledge of the software, not necessarily provided in the documentation of open source software. The effort required to…

Software Engineering · Computer Science 2011-10-11 Eleni Constantinou , George Kakarontzas , Ioannis Stamelos

The degree of dependencies among the modules of a software system is a key attribute to characterize its design structure and its ability to evolve over time. Several design problems are often correlated with undesired dependencies among…

Software Engineering · Computer Science 2018-10-29 J. Andrés Díaz-Pace , Antonela Tommasel , Daniela Godoy