A software architecture is eroded (or degraded) if it shows a progressive loss of structural integrity due to design principle violations which leads to the deviation of the implemented architecture from the intended architecture. Eroded systems suffer from Architectural Technical Debt (ATD), the additional effort required by developers to manage the shortcomings caused by the erosion. A symptom of the accumulation of ATD is the presence of Architectural Smells (AS), design decisions that impact negatively on the internal system quality. Systems affected by AS suffer from higher maintenance costs and are harder to evolve. This thesis investigates six different types of AS violating different design principles in Open-Source and industrial monolithic Java projects. We identify AS with our tool, Arcan, and introduce its new extension for the representation of software concerns. We then discuss AS from the point of view of practitioners, trying to summarise how AS are perceived and validating Arcan results. We also report the results of our empirical studies concerning AS and ATD evolution and correlation. Finally, we present our first results concerning the migration and maintenance of microservices architectures, with a focus on the detection of microservices smells.

Un'architettura software è erosa (o degradata) se mostra una progressiva perdita di integrità strutturale a causa di violazioni dei principi di progettazione. I sistemi erosi soffrono di Architectural Technical Debt (ATD), lo sforzo aggiuntivo richiesto agli sviluppatori per gestire i difetti causati dall'erosione. Un sintomo dell'accumulo di ATD è la presenza di Architectural Smells (AS), decisioni di software design che hanno un impatto negativo sulla qualità interna del sistema software. I sistemi affetti da AS soffrono di maggiori costi di manutenzione e sono più difficili da evolvere. Questa tesi indaga sei diversi tipi di AS che violano diversi principi di design in progetti Java monolitici Open-Source e industriali. Identifichiamo gli AS con il nostro strumento, Arcan, e introduciamo la sua nuova estensione per la rappresentazione dei software concerns. Discutiamo poi gli AS dal punto di vista dei professionisti, cercando di riassumere come gli AS sono percepiti e validando i risultati di Arcan. Riportiamo anche i risultati dei nostri studi empirici riguardanti l'evoluzione e la correlazione di AS e ATD. Infine, presentiamo i nostri primi risultati riguardanti la migrazione e la manutenzione di architetture a microservizi, con particolare attenzione al rilevamento degli odori dei microservizi.

(2022). Evaluating and Detecting Architecture Erosion. (Tesi di dottorato, Università degli Studi di Milano-Bicocca, 2022).

Evaluating and Detecting Architecture Erosion

PIGAZZINI, ILARIA
2022

Abstract

Un'architettura software è erosa (o degradata) se mostra una progressiva perdita di integrità strutturale a causa di violazioni dei principi di progettazione. I sistemi erosi soffrono di Architectural Technical Debt (ATD), lo sforzo aggiuntivo richiesto agli sviluppatori per gestire i difetti causati dall'erosione. Un sintomo dell'accumulo di ATD è la presenza di Architectural Smells (AS), decisioni di software design che hanno un impatto negativo sulla qualità interna del sistema software. I sistemi affetti da AS soffrono di maggiori costi di manutenzione e sono più difficili da evolvere. Questa tesi indaga sei diversi tipi di AS che violano diversi principi di design in progetti Java monolitici Open-Source e industriali. Identifichiamo gli AS con il nostro strumento, Arcan, e introduciamo la sua nuova estensione per la rappresentazione dei software concerns. Discutiamo poi gli AS dal punto di vista dei professionisti, cercando di riassumere come gli AS sono percepiti e validando i risultati di Arcan. Riportiamo anche i risultati dei nostri studi empirici riguardanti l'evoluzione e la correlazione di AS e ATD. Infine, presentiamo i nostri primi risultati riguardanti la migrazione e la manutenzione di architetture a microservizi, con particolare attenzione al rilevamento degli odori dei microservizi.
ARCELLI FONTANA, FRANCESCA
LEPORATI, ALBERTO OTTAVIO
A software architecture is eroded (or degraded) if it shows a progressive loss of structural integrity due to design principle violations which leads to the deviation of the implemented architecture from the intended architecture. Eroded systems suffer from Architectural Technical Debt (ATD), the additional effort required by developers to manage the shortcomings caused by the erosion. A symptom of the accumulation of ATD is the presence of Architectural Smells (AS), design decisions that impact negatively on the internal system quality. Systems affected by AS suffer from higher maintenance costs and are harder to evolve. This thesis investigates six different types of AS violating different design principles in Open-Source and industrial monolithic Java projects. We identify AS with our tool, Arcan, and introduce its new extension for the representation of software concerns. We then discuss AS from the point of view of practitioners, trying to summarise how AS are perceived and validating Arcan results. We also report the results of our empirical studies concerning AS and ATD evolution and correlation. Finally, we present our first results concerning the migration and maintenance of microservices architectures, with a focus on the detection of microservices smells.
architectural smells; debito tecnico arch.; erosione arch.; evoluzione arch.; reverse engineering
architectural smells; arch. technical debt; architecture erosion; arch. evolution; reverse engineering
INF/01 - INFORMATICA
English
INFORMATICA
34
2020/2021
(2022). Evaluating and Detecting Architecture Erosion. (Tesi di dottorato, Università degli Studi di Milano-Bicocca, 2022).
File in questo prodotto:
File Dimensione Formato  
phd_unimib_780684.pdf

accesso aperto

Descrizione: Tesi
Tipologia di allegato: Doctoral thesis
Dimensione 2.71 MB
Formato Adobe PDF
2.71 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/365009
Citazioni
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
Social impact