On the evolution and impact of Architectural Smells – An industrial case study

03/16/2022
by   Darius Sas, et al.
0

Architectural smells (AS) are notorious for their long-term impact on the Maintainability and Evolvability of software systems. The majority of research work has investigated this topic by mining software repositories of open source Java systems, making it hard to generalise and apply them to an industrial context and other programming languages. To address this research gap, we conducted an embedded multiple-case case study, in collaboration with a large industry partner, to study how AS evolve in industrial embedded systems. We detect and track AS in 9 C/C++ projects with over 30 releases for each project that span over two years of development, with over 20 millions lines of code in the last release only. In addition to these quantitative results, we also interview 12 among the developers and architects working on these projects, collecting over six hours of qualitative data about the usefulness of AS analysis and the issues they experienced while maintaining and evolving artefacts affected by AS. Our quantitative findings show how individual smell instances evolve over time, how long they typically survive within the system, how they overlap with instances of other smell types, and finally what the introduction order of smell types is when they overlap. Our qualitative findings, instead, provide insights on the effects of AS on the long-term maintainability and evolvability of the system, supported by several excerpts from our interviews. Practitioners also mention what parts of the AS analysis actually provide actionable insights that they can use to plan refactoring activities.

READ FULL TEXT
research
05/27/2022

Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study

Technical debt denotes shortcuts taken during software development, most...
research
10/13/2021

The perception of Architectural Smells in industrial practice

Architectural Technical Debt (ATD) is considered as the most significant...
research
12/14/2021

Phishing in Organizations: Findings from a Large-Scale and Long-Term Study

In this paper, we present findings from a large-scale and long-term phis...
research
12/11/2022

Technical Debt Management in OSS Projects: An Empirical Study on GitHub

Technical debt (TD) refers to delayed tasks and immature artifacts that ...
research
12/02/2021

A Generator Framework For Evolving Variant-Rich Software

Evolving software is challenging, even more when it exists in many diffe...
research
01/16/2023

An architectural technical debt index based on machine learning and architectural smells

A key aspect of technical debt (TD) management is the ability to measure...
research
05/03/2018

Involving External Stakeholders in Project Courses

Problem: The involvement of external stakeholders in capstone projects a...

Please sign up or login with your details

Forgot password? Click here to reset