Aller au contenu principal
Accès ouvert déclaré 2023 dissertation

Understanding, Analysis, and Handling of Software Architecture Erosion

0Citations signalées, ce qui n’est pas une note de qualité
0Institutions déclarées
0Pays d’affiliation déclarés

Le résumé fourni par la source

Architecture erosion reflects the tendency of an implemented architecture of a software system to gradually diverge from the intended architecture.Empirical evidence from numerous studies has demonstrated that architecture erosion significantly impacts various aspects of software development, maintenance, and evolution.This is because, architecture erosion often tends to occur imperceptibly and accumulates over time, making its repair challenging, costly, and sometimes even impossible.Therefore, timely detection and remediation of architecture erosion become crucial.One way to manage architecture erosion is by identifying its early symptoms, such as lack of modularity and various architectural smells.By identifying and managing these symptoms and their evolution, developers can gain insights into the software system's health and take proactive measures like architecture refactoring.This early warning mechanism not only aids in repairing eroded architecture, but also helps in understanding, identifying, analyzing, and optimizing software architecture, ultimately improving software product quality.However, despite several research studies investigating the architecture erosion phenomenon, the current state of the art has certain shortcomings.Specifically, there is a lack of comprehensive understanding of the nature of architecture erosion, it is unclear which symptoms of architecture erosion are the most common, and there is a lack of effective methods to identify these symptoms.Hence, the main research objective of this thesis is to establish a landscape of architecture erosion, investigate common erosion symptoms, and propose feasible approaches to identify and handle architecture erosion.To achieve the stated objective, we first need to obtain a landscape of the architecture erosion phenomenon and its current state of research in the literature.To this end, we conducted a systematic mapping study that covers the literature spanning SamenvattingArchitectuurerosie weerspiegelt de neiging van een geïmplementeerde architectuur van een softwaresysteem om geleidelijk af te wijken van de bedoelde architectuur.Empirisch bewijs uit talrijke studies heeft aangetoond dat architectuurerosie aanzienlijk invloed heeft op verschillende aspecten van softwareontwikkeling, onderhoud en evolutie.Dit komt omdat architectuurerosie vaak onmerkbaar optreedt en zich in de loop van de tijd ophoopt, waardoor reparatie uitdagend, kostbaar en soms zelfs onmogelijk is.Daarom wordt tijdige detectie en herstel van architectuurerosie cruciaal.Een manier om architectuurerosie te beheren is door vroegtijdige symptomen te identificeren, zoals gebrek aan modulariteit en verschillende architecturale geuren.Door deze symptomen en hun evolutie te identificeren en te beheren, kunnen ontwikkelaars inzicht krijgen in de gezondheid van het softwaresysteem en proactieve maatregelen nemen, zoals architectuurherstructurering.Dit vroege waarschuwingssysteem helpt niet alleen bij het repareren van eroderende architectuur, maar helpt ook bij het begrijpen, identificeren, analyseren en optimaliseren van softwarearchitectuur, en uiteindelijk bij het verbeteren van de softwareproductkwaliteit.Ondanks verschillende onderzoeken naar het fenomeen van architectuurerosie, heeft de huidige stand van de techniek bepaalde tekortkomingen.Specifiek, er is een gebrek aan een alomvattend begrip van de aard van architectuurerosie, het is onduidelijk welke symptomen van architectuurerosie het meest voorkomen, en er is een gebrek aan effectieve methoden om deze symptomen te identificeren.Daarom is het belangrijkste onderzoeksdoel van deze scriptie het vaststellen van een landschap van architectuurerosie, het onderzoeken van veelvoorkomende erosiesymptomen en het voorstellen van haalbare benaderingen om architectuurerosie te identificeren en aan te pakken.Om het gestelde doel te bereiken, moeten we eerst een landschap verkrijgen van het fenomeen architectuurerosie en de huidige staat van onderzoek in de literatuur.Hiervoor hebben we een systematische mappingstudie uitgevoerd die de literatuur beslaat van januari 2006 tot mei 2019 voor een alomvattend begrip van architectuurerosie, inclusief de definities, symptomen, oorzaken en gevolgen.De belangrijkste resultaten tonen aan dat (1) "architectuurerosie" de meest gebruikte term is gevolgd door "architectuur verval".Vier perspectieven (d.w.z.schending, structuur, kwaliteit en evolutie) met betrekking tot de definitie van architectuurerosie zijn het waard om te onderzoeken in zowel onderzoek als praktijk, samen met de respectievelijke vier soorten erosiesymptomen.(2) Niet-technische redenen dragen bij aan architectuurerosie naast technische redenen.Architectuurerosie heeft negatieve effecten op de kwaliteitskenmerken van software, en praktijkmensen kunnen pleiten voor managementinterventie om prioriteit te geven aan het aanpakken van architectuurerosie en mogelijke systeemfouten te voorkomen.(3) Benaderingen en tools voor het detecteren en aanpakken van architectuurerosie zijn gecategoriseerd in 19 en 35 categorieën, respectievelijk, met consistentie-gebaseerde en evolutie-gebaseerde benaderingen die vaak worden genoemd.Vervolgens, om inzicht te krijgen in de praktijk, hebben we een empirische studie uitgevoerd die tot doel had te onderzoeken hoe ontwikkelaars het fenomeen van architectuurerosie waarnemen en bespreken.Om relevante informatie te verzamelen vanuit het perspectief van de beoefenaars, hebben we drie primaire gegevensbronnen gebruikt: online gemeenschappen van ontwikkelaars, enquêtes en interviews.Deze uitgebreide benadering stelde ons in staat om diverse perspectieven te verzamelen en een dieper inzicht te krijgen in het fenomeen van de architectuurerosie.De bevindingen onthullen dat ondanks de afwezigheid van specifieke tools voor het detecteren van architectuurerosie, ontwikkelaars geassocieerde praktijken (bijv.code review, architectuurconformiteitscontrole) en tools (bijv.Lattix) kunnen gebruiken om de symptomen van architectuurerosie te identificeren.Bewijs toonde aan dat de verzamelde maatregelen van beoefenaars (bijv.architectuurbeoordeling, periodiek onderhoud) kunnen worden gebruikt tijdens de implementatie van de architectuur om architectuurerosie effectief aan te pakken.Na een uitgebreid begrip van de stand van onderzoek en praktijk te hebben verkregen, besloten we ons te richten op een gangbare praktijk (d.w.z.code review) om architectuurerosie te analyseren.Specifiek kozen we voor code reviewopmerkingen, als een soort tekstueel artefact dat wordt geproduceerd in code review, waardoor we een kijkje krijgen in de praktische kennis van ontwikkelaars over erosiesymptomen.We hebben twee empirische studies uitgevoerd om dieper in te gaan op de gangbare erosiesymptomen tijdens softwareontwikkeling. De eerste studie richtte zich op symptomen van architectuurerosie in code reviews, en analyseerde discussies uit de Nova-en Neutron-projecten in OpenStack.De resul-taten onthulden dat de meest frequent geïdentificeerde erosiesymptomen architecturale schendingen, duplicatie van functionaliteiten en cyclische afhankelijkheden zijn.Het aantal opmerkingen over erosiesymptomen nam in de loop van de tijd af, wat duidt op een verhoogde stabiliteit in de architectuur.De meeste erosiesymptomen werden aangepakt door ze te repareren of te laten varen na review-stemmen.Voortbouwend op deze bevindingen, heeft de tweede studie de meest voorkomende schendingssymptomen verder verkend, aangezien deze de meest onmiddellijke symptomen van architectuurerosie zijn en ze de meeste aandacht van de beoefenaars vereisen.We verzamelden en analyseerden 606 code review-opmerkingen van vier populaire open-source projecten (d.w.z.Nova, Neutron, Qt Base en Qt Creator) om schendingssymptomen te bestuderen.De bevindingen tonen aan dat ontwikkelaars tijdens code review 10 categorieën van schendingssymptomen bespreken.De voornaamste maatregelen om schendingssymptomen aan te pakken zijn ref

Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.

Le contrôle bibliographique ouvert

DOI retrouvé dans Crossref DOI retrouvé ; titre concordant.

Titre Crossref
Understanding, Analysis, and Handling of Software Architecture Erosion
Date Crossref
21/11/2023
Éditeur
University of Groningen Press
Type
dissertation

Ce recoupement confirme des métadonnées liées au DOI. Il ne confirme ni la méthode ni les conclusions de l’étude, et il ne compte pas comme une seconde source scientifique indépendante.

Les sujets associés

Software Engineering ResearchSoftware System Performance and ReliabilitySoftware Reliability and Analysis Research

BNTIC News n’est pas le producteur de ces données. Les publications sont interrogées à la demande dans Crossref, OpenAIRE, DOAJ, Europe PMC, HAL, DataCite, AfricArXiv, ROR et la Banque mondiale, sans clé d’accès. OpenAlex reste optionnel. Aucun service payant n’est nécessaire et aucune donnée externe n’est enregistrée en base. Consulter les sources et leurs limites.