Ilaria Pigazzini

dblp:193/4205 · DBLP profile ↗
← Back
10ranked-venue papers
4as first author
5since 2021 · last 2022
0000-0003-2629-6762ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 4 first-author · 5 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-author · 2 since 2021
YearPublicationVenuePosition
2022 Microservices smell detection through dynamic analysis
abstract
The past few years saw the rise of microservices studies and best practices, along with wide industrial adoption of this architectural style. We now witness the birth of another challenging topic: microservices quality. Like other kinds of architectures, also microservices suffer from erosion and technical debt, whose symptoms can be the appearance of microservices smells, which impact negatively on the system’s quality, by hindering, for example, its maintainability. In this paper we propose a tool called Aroma, to reconstruct microservices architectures and detect microservices smells, based on the dynamic analysis of microservices execution traces. We describe the main features of the tool, the strategies adopted for microservice smells detection and the first preliminary experimentation.
Paolo Bacchiega, Ilaria Pigazzini, Francesca Arcelli Fontana
SEAA2
2022 Exploiting dynamic analysis for architectural smell detection: a preliminary study
abstract
Architectural anomalies, also known as architectural smells, represent the violation of design principles or decisions that impact internal software qualities with significant negative effects on maintenance, evolution costs and technical debt. Architectural smells, if early removed, have an overall impact on reducing a possible progressive architectural erosion and architectural debt. Some tools have been proposed for their detection, exploiting different methods, usually based only on static analysis. This work analyzes how dynamic analysis can be exploited to detect architectural smells. We focus on two smells, Hub-Like Dependency and Cyclic Dependency, and we extend an existing tool integrating dynamic analysis. We conduct an empirical study on ten projects. We compare the results obtained comparing a method featuring dynamic analysis and the original version of Arcan based only on static analysis to understand if dynamic analysis can be successfully used. The results show that dynamic analysis helps identify missing architectural smells instances, although its usage is hindered by the lack of test suites suitable for this scope.
Ilaria Pigazzini, Dario Di Nucci, Francesca Arcelli Fontana, Marco Belotti
SEAA1
2022 On the relation between architectural smells and source code changes
abstract
Abstract Although architectural smells are one of the most studied type of architectural technical debt, their impact on maintenance effort has not been thoroughly investigated. Studying this impact would help to understand how much technical debt interest is being paid due to the existence of architecture smells and how this interest can be calculated. This work is a first attempt to address this issue by investigating the relation between architecture smells and source code changes. Specifically, we study whether thefrequencyandsizeof changes are correlated with the presence of a selected set of architectural smells. We detect architectural smells using the Arcan tool, which detects architectural smells by building a dependency graph of the system analyzed and then looking for the typical structures of the architectural smells. The findings, based on a case study of 31 open‐source Java systems, show that 87% of the analyzed commits present more changes in artifacts with at least one smell, and the likelihood of changing increases with the number of smells. Moreover, there is also evidence to confirm that change frequency increases after the introduction of a smell and that the size of changes is also larger in smelly artifacts. These findings hold true especially in Medium–Large and Large artifacts.
Darius Sas, Paris Avgeriou, Ilaria Pigazzini, Francesca Arcelli Fontana
J. Softw. Evol. Process.3
2021 Impact of Opportunistic Reuse Practices to Technical Debt
abstract
Technical debt (TD) has been recognized as an important quality problem for both software architecture and code. The evolution of TD techniques over the past years has led to a number of research and commercial tools. In addition, the increasing trend of opportunistic reuse (as opposed to systematic reuse), where developers reuse code assets in popular repositories, is changing the way components are selected and integrated into existing systems. However, reusing software opportunistically can lead to a loss of quality and induce TD, especially when the architecture is changed in the process. However, to the best of our knowledge, no studies have investigated the impact of opportunistic reuse in TD. In this paper, we carry out an exploratory study to investigate to what extent reusing components opportunistically negatively affects the quality of systems. We use one commercial and one research tool to analyze the TD ratios of three case systems, before and after opportunistically extending them with open-source software.
Rafael Capilla, Tommi Mikkonen, Carlos Carrillo 0001, Francesca Arcelli Fontana, Ilaria Pigazzini, Valentina Lenarduzzi
TechDebt@ICSE5
2021 A study on correlations between architectural smells and design patterns
Ilaria Pigazzini, Francesca Arcelli Fontana, Bartosz Walter
J. Syst. Softw.1
2020 Towards microservice smells detection
abstract
With the adoption of microservices architectural styles, practitioners started noticing increasing pitfalls in managing and maintaining such architectures, with the risk of introducing architectural debt. Previous studies identified different microservice smells (also named anti-patterns) that harm microservices architectures. However, according to our knowledge, there are no tools that can automatically detect microservice smells, so their identification is left to the experience of the developer. In this paper, we extend an existing tool developed for the detection of architectural smells to explore microservices architecture through the detection of three microservice smells: Cyclic Dependencies, Hard-Coded Endpoints, and Shared Persistence. We detected the smells on five open-source projects implemented with microservices and manually validated the precision of the detection results. This work aims to open new perspectives on facing and studying architectural debt in the field of microservices architectures.
Ilaria Pigazzini, Francesca Arcelli Fontana, Valentina Lenarduzzi, Davide Taibi 0001
TechDebt@ICSE1
2019 Tool Support for the Migration to Microservice Architecture: An Industrial Case Study
Ilaria Pigazzini, Francesca Arcelli Fontana, Andrea Maggioni
ECSA1
2019 A Study on Architectural Smells Prediction
abstract
Architectural smells can be detrimental to the system maintainability, evolvability and represent a source of architectural debt. Thus, it is very important to be able to understand how they evolved in the past and to predict their future evolution. In this paper, we evaluate if the existence of architectural smells in the past versions of a project can be used to predict their presence in the future. We analyzed four Java projects in 295 Github releases and we applied for the prediction four different supervised learning models in a repeated cross-validation setting. We found that historical architectural smell information can be used to predict the presence of architectural smells in the future. Hence, practitioners should carefully monitor the evolution of architectural smells and take preventative actions to avoid introducing them and stave off their progressive growth.
Francesca Arcelli Fontana, Paris Avgeriou, Ilaria Pigazzini, Riccardo Roveda
SEAA3
2018 Towards an Architectural Debt Index
abstract
Different indexes have been proposed to evaluate software quality and technical debt. Usually these indexes take into account different code level issues and several metrics, well known software metrics or new ones defined ad hoc for a specific purpose. In this paper we propose and define a new index, more oriented to the evaluation of architectural violations. We describe in detail the index, called Architectural Debt Index, that we integrated in a tool developed for architectural smell detection. The index is based on the detection of architectural smells, their criticality and their history. Currently only dependency architectural smells have been considered, but other architectural debt indicators can be considered and integrated in the index computation.
Riccardo Roveda, Francesca Arcelli Fontana, Ilaria Pigazzini, Marco Zanoni
SEAA3
2016 Automatic Detection of Instability Architectural Smells
abstract
Code smells represent well known symptoms of problems at code level, and architectural smells can be seen as their counterpart at architecture level. If identified in a system, they are usually considered more critical than code smells, for their effect on maintainability issues. In this paper, we introduce a tool for the detection of architectural smells that could have an impact on the stability of a system. The detection techniques are based on the analysis of dependency graphs extracted from compiled Java projects and stored in a graph database. The results combine the information gathered from dependency and instability metrics to identify flaws hidden in the software architecture. We also propose some filters trying to avoid possible false positives.
Francesca Arcelli Fontana, Ilaria Pigazzini, Riccardo Roveda, Marco Zanoni
ICSME2