Network


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

Hotspot


Dive into the research topics where Matteo Orrù is active.

Publication


Featured researches published by Matteo Orrù.


workshop on emerging trends in software metrics | 2013

A study of the community structure of a complex software network

Giulio Concas; Cristina Monni; Matteo Orrù; Roberto Tonelli

This paper presents a case study of a large software system, Netbeans 6.0, made of independent subsystems, which are analyzed as complex software networks. Starting from the source code we built the associated software graphs, where classes represent graph nodes and inter-class relationships represent graph edges. We computed various metrics for the software systems and found interdependences with various quantities computed by mean of the complex network analysis. In particular we found that the number of communities in which the software networks can be partitioned and their modularity, average path length and mean degree can be related to the amount of bugs detected in the system. This result can be useful to provide indications about the fault proneness of software clusters in terms of quantities related to the associated graph structure.


predictive models in software engineering | 2015

A Curated Benchmark Collection of Python Systems for Empirical Studies on Software Engineering

Matteo Orrù; Ewan D. Tempero; Michele Marchesi; Roberto Tonelli; Giuseppe Destefanis

The aim of this paper is to present a dataset of metrics associated to the first release of a curated collection of Python software systems. We describe the dataset along with the adopted criteria and the issues we faced while building such corpus. This dataset can enhance the reliability of empirical studies, enabling their reproducibility, reducing their cost, and it can foster further research on Python software.


agile processes in software engineering and extreme programming | 2014

Are refactoring practices related to clusters in java software

Giulio Concas; Cristina Monni; Matteo Orrù; Roberto Tonelli

Refactoring is widely used among the practices of Agile software development. In this preliminary work we present an empirical study carried out on several releases of 5 software systems written in Java. We focus our attention on the effect of refactoring activities on the topology of the software network. We find that refactoring activities involve classes linked together into clusters inside the software network and the clusters may be modified in different ways by the refactoring activity. This could lead to significative changes in source code, whose knowledge could be valuable for people involved in software development.


International Journal of Software Engineering and Knowledge Engineering | 2017

Software quality and community structure in Java software networks

Giulio Concas; Michele Marchesi; Cristina Monni; Matteo Orrù; Roberto Tonelli

We present a study of 600 Java software networks with the aim of characterizing the relationship among their defectiveness and community metrics. We analyze the community structure of such networks, defined as their topological division into subnetworks of densely connected nodes. A high density of connections represents a higher level of cooperation between classes, so a well-defined division in communities could indicate that the software system has been designed in a modular fashion and all its functionalities are well separated. We show how the community structure can be an indicator of well-written, high quality code by retrieving the communities of the analyzed systems and by ranking their division in communities through the built-in metric called modularity. We found that the software systems with highest modularity possess the majority of bugs, and tested whether this result is related to some confounding effect. We found two power laws relating the maximum defect density with two different metric...


asia-pacific software engineering conference | 2015

How do python programs use inheritance? A replication study

Matteo Orrù; Ewan D. Tempero; Michele Marchesi; Roberto Tonelli

In this work we present an empirical study on the use of inheritance in a curated corpus of Python systems. Replicating a study preformed on Java, we analyzed a collection of 51 software systems written in Python, and investigated how inheritance is effectively used by Python developers in practice through a convenient set of inheritance metrics. Our results suggest that on average fewer classes inherit from other classes than in Java, but more classes are inherited from. We also see a sort of symmetry relating the number of ancestors and the number of descendants in each system.


2015 IEEE 2nd International Workshop on Patterns Promotion and Anti-patterns Prevention (PPAP) | 2015

Could micro patterns be used as software stability indicator

Marco Ortu; Giuseppe Destefanis; Matteo Orrù; Roberto Tonelli; Michele Marchesi

Micro patterns can be a useful proxy for the quality of software. Classes matching certain categories of micro patterns were shown to be more fault prone than others, and those classes that do not correspond to any category of micro patterns were shown to be more likely to be faulty. In this paper we present a preliminary study of traditional software metrics and micro patterns in three versions of Eclipse (2.1, 3.0, 3.1) in order to understand if it is possible to relate the stability of a software system with micro patterns.


workshop on emerging trends in software metrics | 2016

A case study on the relationship between code ownership and refactoring activities in a Java software system

Matteo Orrù; Michele Marchesi

Refactoring, the activity of changing source code design without affecting its external behavior, is a widely used practice among developers, since it is considered to positively affect the quality of software systems. However, there are some “human factors” to be considered while performing refactoring, including developers knowledge of systems architecture. Recent studies showed how much “people” metrics, such as code ownership, might affect software quality as well. In this preliminary study we investigated the relationship between code ownership and refactoring activity performed by developers. This study can provide useful insights on who performs refactoring and help team leaders to properly manage human resources during software development.


international joint conference on knowledge discovery knowledge engineering and knowledge management | 2015

Hashtag of Instagram: From Folksonomy to Complex Network

Simona Ibba; Matteo Orrù; Filippo Eros Pani; Simone Porru

The Instagram is a social network for smartphones created in 2010 and acquired by Facebook in 2012. It currently has more than 300 million registered users and allows for the immediate upload of images (square, inspired by Polaroid), to which users can associate hashtags and comments. Moreover, connections can be created between users that share the same interests. In our work, we intend to analyze the hashtags entered by users: the use of such hashtags, as it happens in other social networks like Twitter, generates a folksonomy, that is a user-driven classification of information. We intend to map that folksonomy as a complex network to which we can associate all the typical analysis and evaluations of such a mathematical model. Our purpose is to use the resulting complex network as a marketing tool, in order to improve brand or product awareness.


workshop on emerging trends in software metrics | 2014

Clustering of defects in Java software systems

Giulio Concas; Cristina Monni; Matteo Orrù; Roberto Tonelli

In this paper we present a case study about the clustering of maintenance activities applied on large software systems, from the complex networks perspective. We analyze several releases of two large Open Source Java software systems, using data extracted from Software Configuration Management systems and from Issue Tracking systems (ITS). We find that Java files affected by maintenance activity are likely to be connected with each other, forming interconnected clusters inside the software network associated to the software system. This means that Java files interested by the maintenance activities requested on ITS are likely to be connected each other through dependencies at the source code level. The information carried by the clusters of Java files may be used to improve strategies for large maintenance operations. Since the tendency to form clusters can vary across different systems, such analysis can also be a useful indicator of the impact of defects on source code files in different software systems.


Proceedings of the Scientific Workshop Proceedings of XP2016 on | 2016

Assessment of Approaches for the Analysis of Refactoring Activity on Software Repositories An Empirical Study

Matteo Orrù; Michele Marchesi

Refactoring is the practice of changing source code without altering its external behavior. It is widely used since it is acknowledged to have a positive effect on software quality. However, different studies on the impact of Refactoring on software quality led to contrasting results. This might be due also to the fact that research works on Refactoring rely on different approaches to collect information about the refactoring activity on software repositories. Having a reliable approach is fundamental to draw solid conclusions. In this paper we empirically analyzed two of the most popular approaches to detect the refactoring activity on software repositories, finding that they return different outcomes. These results should be taken into account by researchers while designing the experimental settings of their studies.

Collaboration


Dive into the Matteo Orrù's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Marco Ortu

University of Cagliari

View shared research outputs
Top Co-Authors

Avatar

Simona Ibba

University of Cagliari

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge