Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Francesca Arcelli Fontana is active.

Publication


Featured researches published by Francesca Arcelli Fontana.


The Journal of Object Technology | 2012

Automatic detection of bad smells in code: An experimental assessment

Francesca Arcelli Fontana; Pietro Braione; Marco Zanoni

Code smells are structural characteristics of software that may indicate a code or design problem that makes software hard to evolve and maintain, and may trigger refactoring of code. Recent research is active in defining automatic detection tools to help humans in finding smells when code size becomes unmanageable for manual review. Since the definitions of code smells are informal and subjective, assessing how effective code smell detection tools are is both important and hard to achieve. This paper reviews the current panorama of the tools for automatic code smell detection. It defines research questions about the consistency of their responses, their ability to expose the regions of code most affected by structural decay, and the relevance of their responses with respect to future software evolution. It gives answers to them by analyzing the output of four representative code smell detectors applied to six different versions of GanttProject, an open source system written in Java. The results of these experiments cast light on what current code smell detection tools are able to do and what the relevant areas for further improvement are.


Information Sciences | 2011

A tool for design pattern detection and software architecture reconstruction

Francesca Arcelli Fontana; Marco Zanoni

It is well known that software maintenance and evolution are expensive activities, both in terms of invested time and money. Reverse engineering activities support the obtainment of abstractions and views from a target system that should help the engineers to maintain, evolve and eventually re-engineer it. Two important tasks pursued by reverse engineering are design pattern detection and software architecture reconstruction, whose main objectives are the identification of the design patterns that have been used in the implementation of a system as well as the generation of views placed at different levels of abstractions, which let the practitioners focus on the overall architecture of the system without worrying about the programming details it has been implemented with. In this context we propose an Eclipse plug-in called MARPLE (Metrics and Architecture Reconstruction Plug-in for Eclipse), which supports both the detection of design patterns and software architecture reconstruction activities through the use of basic elements and metrics that are mechanically extracted from the source code. The development of this platform is mainly based on the exploitation of the Eclipse framework and plug-ins as well as of different Java libraries for data access and graph management and visualization. In this paper we focus our attention on the design pattern detection process.


international conference on software maintenance | 2013

Code Smell Detection: Towards a Machine Learning-Based Approach

Francesca Arcelli Fontana; Marco Zanoni; Alessandro Marino; Mika V. Mäntylä

Several code smells detection tools have been developed providing different results, because smells can be subjectively interpreted and hence detected in different ways. Usually the detection techniques are based on the computation of different kinds of metrics, and other aspects related to the domain of the system under analysis, its size and other design features are not taken into account. In this paper we propose an approach we are studying based on machine learning techniques. We outline some common problems faced for smells detection and we describe the different steps of our approach and the algorithms we use for the classification.


Proceedings of the Third International Workshop on Managing Technical Debt | 2012

Investigating the impact of code smells debt on quality code evaluation

Francesca Arcelli Fontana; Vincenzo Ferme; Stefano Spinelli

Different forms of technical debt exist that have to be carefully managed. In this paper we focus our attention on design debt, represented by code smells. We consider three smells that we detect in open source systems of different domains. Our principal aim is to give advice on which design debt has to be paid first, according to the three smells we have analyzed. Moreover, we discuss if the detection of these smells could be tailored to the specific application domain of a system.


international conference on software testing verification and validation workshops | 2011

An Experience Report on Using Code Smells Detection Tools

Francesca Arcelli Fontana; Elia Mariani; Andrea Mornioli; Raul Sormani; Alberto Tonello

Detecting code smells in the code and consequently applying the right refactoring steps when necessary is very important to improve the quality of the code. Different tools have been proposed for code smell detection, each one characterized by particular features. The aim of this paper is to describe our experience on using different tools for code smell detection. We outline the main differences among them and the different results we obtained.


Proceedings of the 4th Workshop on Refactoring Tools | 2011

Impact of refactoring on quality code evaluation

Francesca Arcelli Fontana; Stefano Spinelli

Code smells are characteristics of the software that may indicate a code or design problem that can make software hard to understand, to evolve and maintain. Detecting code smells in the code and consequently applying the right refactoring steps, when necessary, is very important for improving the quality of the code. In this paper, according to well known metrics proposed to evaluate the code and design quality of a system, we analyze the impact of refactoring, applied to remove code smells, on the quality evaluation of the system.


Journal of Systems and Software | 2015

On applying machine learning techniques for design pattern detection

Marco Zanoni; Francesca Arcelli Fontana; Fabio Stella

We apply machine learning to detect design patterns in software systems.We exploit a specific design pattern model to apply machine learning techniques.We compare the performances of several machine learning algorithms.We provide a large dataset containing manually checked design pattern instances. The detection of design patterns is a useful activity giving support to the comprehension and maintenance of software systems. Many approaches and tools have been proposed in the literature providing different results. In this paper, we extend a previous work regarding the application of machine learning techniques for design pattern detection, by adding a more extensive experimentation and enhancements in the analysis method. Here we exploit a combination of graph matching and machine learning techniques, implemented in a tool we developed, called MARPLE-DPD. Our approach allows the application of machine learning techniques, leveraging a modeling of design patterns that is able to represent pattern instances composed of a variable number of classes. We describe the experimentations for the detection of five design patterns on 10 open source software systems, compare the performances obtained by different learning models with respect to a baseline, and discuss the encountered issues.


Proceedings of the Second International Workshop on Software Architecture and Metrics | 2015

Towards assessing software architecture quality by exploiting code smell relations

Francesca Arcelli Fontana; Vincenzo Ferme; Marco Zanoni

We can evaluate software architecture quality using a plethora of metrics proposed in the literature, but interpreting and exploiting in the right way these metrics is not always a simple task. This is true for both fixing the right metric threshold values and determining the actions to be taken to improve the quality of the system. Instead of metrics, we can detect code or architectural anomalies that give us useful hints on the possible architecture degradation. In this paper, we focus our attention on the detection of code smells and in particular on their relations and co-occurrences, with the aim to evaluate technical debt in an architectural context. We start from the assumption that certain patterns of code anomalies tend to be better indicators of architectural degradation than simple metrics evaluation.


2015 IEEE 7th International Workshop on Managing Technical Debt (MTD) | 2015

Towards a prioritization of code debt: A code smell Intensity Index

Francesca Arcelli Fontana; Vincenzo Ferme; Marco Zanoni; Riccardo Roveda

Code smells can be used to capture symptoms of code decay and potential maintenance problems that can be avoided by applying the right refactoring. They can be seen as a source of technical debt. However, tools for code smell detection often provide far too many and different results, and identify many false positive code smell instances. In fact, these tools are rooted on initial and rather informal code smell definitions. This represents a challenge to interpret their results in different ways. In this paper, we provide an Intensity Index, to be used as an estimator to determine the most critical instances, prioritizing the examination of smells and, potentially, their removal. We apply Intensity on the detection of six well known and common smells and we report their Intensity distribution from an analysis performed on 74 systems of the Qualitas Corpus, showing how Intensity could be used to prioritize code smells inspection.


international conference on software maintenance | 2013

Investigating the Impact of Code Smells on System's Quality: An Empirical Study on Systems of Different Application Domains

Francesca Arcelli Fontana; Vincenzo Ferme; Alessandro Marino; Bartosz Walter; Pawel Martenka

There are various activities that support software maintenance. Program comprehension and detection of design anomalies and their symptoms, like code smells and anti patterns, are particularly relevant for improving the quality and facilitating evolution of a system. In this paper we describe an empirical study on the detection of code smells, aiming at identifying the most frequent smells in systems of different domains and hence the domains characterized by more smells. Moreover, we study possible correlations existing among smells and the values of a set of software quality metrics using Spearmans rank correlation and Principal Component Analysis.

Collaboration


Dive into the Francesca Arcelli Fontana's collaboration.

Top Co-Authors

Avatar

Marco Zanoni

University of Milano-Bicocca

View shared research outputs
Top Co-Authors

Avatar

Riccardo Roveda

University of Milano-Bicocca

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bartosz Walter

Poznań University of Technology

View shared research outputs
Top Co-Authors

Avatar

Simone Cenci

Vita-Salute San Raffaele University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alessandro Marino

University of Milano-Bicocca

View shared research outputs
Researchain Logo
Decentralizing Knowledge