Network


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

Hotspot


Dive into the research topics where Giulio Concas is active.

Publication


Featured researches published by Giulio Concas.


IEEE Transactions on Software Engineering | 2007

Power-Laws in a Large Object-Oriented Software System

Giulio Concas; Michele Marchesi; Sandro Pinna; N. Serra

We present a comprehensive study of an implementation of the Smalltalk object oriented system, one of the first and purest object-oriented programming environment, searching for scaling laws in its properties. We study ten system properties, including the distributions of variable and method names, inheritance hierarchies, class and method sizes, system architecture graph. We systematically found Pareto - or sometimes log-normal - distributions in these properties. This denotes that the programming activity, even when modeled from a statistical perspective, can in no way be simply modeled as a random addition of independent increments with finite variance, but exhibits strong organic dependencies on what has been already developed. We compare our results with similar ones obtained for large Java systems, reported in the literature or computed by ourselves for those properties never studied before, showing that the behavior found is similar in all studied object oriented systems. We show how the Yule process is able to stochastically model the generation of several of the power-laws found, identifying the process parameters and comparing theoretical and empirical tail indexes. Lastly, we discuss how the distributions found are related to existing object-oriented metrics, like Chidamber and Kemerers, and how they could provide a starting point for measuring the quality of a whole system, versus that of single classes. In fact, the usual evaluation of systems based on mean and standard deviation of metrics can be misleading. It is more interesting to measure differences in the shape and coefficients of the data?s statistical distributions.


Information Sciences | 2011

A modified Yule process to model the evolution of some object-oriented system properties

Ivana Turnu; Giulio Concas; Michele Marchesi; Sandro Pinna; Roberto Tonelli

We present a model based on the Yule process, able to explain the evolution of some properties of large object-oriented software systems. We study four system properties related to code production of four large object-oriented software systems - Eclipse, Netbeans, JDK and Ant. The properties analysed, namely the naming of variables and methods, the call to methods and the inheritance hierarchies, show a power-law distribution as reported in previous papers for different systems. We use the simulation approach to verify the goodness of our model, finding a very good correspondence between empirical data of subsequent software versions, and the prediction of the model presented.


Software Process: Improvement and Practice | 2006

Evaluating the impact of test‐first programming and pair programming through software process simulation

Marco Melis; Ivana Turnu; Alessandra Cau; Giulio Concas

In this article, we present a simulation model that we developed for exploring the influence of two key Extreme Programming (XP) practices — Test-first Programming and Pair Programming — on the evolution of an XP software project. We present the results obtained simulating a typical XP project changing the usage levels of the two practices. We focused on output variables related to effort, size, quality and released functionalities. Copyright


Journal of Systems Architecture | 2006

Modeling and simulation of open source development using an agile practice

Ivana Turnu; Marco Melis; Alessandra Cau; Alessio Setzu; Giulio Concas; Katiuscia Mannaro

The goal of this work is to study the effects of the adoption of agile practices on open source development. In particular, we started to evaluate the effects of TDD (Test Driven Development) since it is easer to apply in a distributed environment than most other agile practices. In order to reach this goal we used the simulation modeling approach. We developed a simulation model of open source software development process. The model was tuned using data from a real FLOSS project: Apache HTTP Server. To introduce the TDD practice in our FLOSS simulation model, we made some assumptions based on empirical results. The two FLOSS development models (nonTDD and TDD) were compared. The one incorporating the agile practice yields better results in terms of code quality.


IEEE Transactions on Software Engineering | 2011

On the Distribution of Bugs in the Eclipse System

Giulio Concas; Michele Marchesi; Alessandro Murgia; Roberto Tonelli; Ivana Turnu

The distribution of bugs in software systems has been shown to satisfy the Pareto principle, and typically shows a power-law tail when analyzed as a rank-frequency plot. In a recent paper, Zhang showed that the Weibull cumulative distribution is a very good fit for the Alberg diagram of bugs built with experimental data. In this paper, we further discuss the subject from a statistical perspective, using as case studies five versions of Eclipse, to show how log-normal, Double-Pareto, and Yule-Simon distributions may fit the bug distribution at least as well as the Weibull distribution. In particular, we show how some of these alternative distributions provide both a superior fit to empirical data and a theoretical motivation to be used for modeling the bug generation process. While our results have been obtained on Eclipse, we believe that these models, in particular the Yule-Simon one, can generalize to other software systems.


workshop on emerging trends in software metrics | 2010

Assessing traditional and new metrics for object-oriented systems

Giulio Concas; Michele Marchesi; Alessandro Murgia; Sandro Pinna; Roberto Tonelli

We present an extensive analysis of software metrics for 111 object-oriented systems written in Java. For each system, we considered 18 traditional metrics such as LOC and Chidamber and Kemerer metrics, as well as metrics derived from complex network theory and social network analysis. These metrics were computed at class level. We also considered two metrics at system level, namely the total number of classes and interfaces, and the fractal dimension. We discuss the distribution of these metrics, and their correlation, both at class and at system level. We found that most metrics follow a leptokurtotic distribution. Only a couple of metrics have patent normal behavior while three others are very irregular, and even bimodal. The statistics gathered allow us to study and discuss the variability of metrics along different systems, and to devise a roadmap for further research.


software engineering and advanced applications | 2012

Micro Pattern Fault-Proneness

Giuseppe Destefanis; Roberto Tonelli; Ewan D. Tempero; Giulio Concas; Michele Marchesi

One of the goals of Software Engineering is to reduce, or at least to try to control, the defectiveness of software systems during the development phase. The aim of our study is to analyze the relationship between micro patterns (introduced by Gil and Maman) and faults in a software system. Micro patterns are similar to design patterns, but their characteristic is that they can be identified automatically, and are at a lower level of abstraction with respect to design patterns. Our study aims to show, through empirical studies of open source software systems, which categories of micro patterns are more correlated to faults. Gil and Maman demonstrated, and subsequent studies confirmed, that 75% of the classes of a software system are covered by micro patterns. In our study we also analyze the relationship between faults and the remaining 25% of classes that do not match with any micro pattern. We found that these classes are more likely to be fault-prone than the others. We also studied the correlation among all the micro patterns of the catalog, in order to verify the existence of relationships between them.


international conference on agile software development | 2011

Studying Lean-Kanban Approach Using Software Process Simulation

David J. Anderson; Giulio Concas; Maria Ilaria Lunesu; Michele Marchesi

We developed an event-driven simulator of the Kanban process a WIP limited pull system visualized by the Kanban board. WIP (work in process) represent the capacity in the activity to perform features simoultaneously. The simulator is fully object-oriented, and its design model reflects the objects of the Lean software development domain. We used this simulator to assess comparatively WIP-limited and unlimited processes. We also studied the optimum values of the working item limits in the activities, using a paradigmatic case of 4 activities and 100 work items. The cost function used is equal to the total time needed to complete the project, plus a weighted sum of the limits themselves. We performed an exhaustive search on all the admissible values of the solution, finding sensible optimal values, and a non-trivial behavior of the cost function in the optimization space.


Advances in Software Engineering | 2010

An empirical study of social networks metrics in object-oriented software

Giulio Concas; Michele Marchesi; Alessandro Murgia; Roberto Tonelli

We study the application to object-oriented software of new metrics, derived from Social Network Analysis. Social Networks metrics, as for instance, the EGO metrics, allow to identify the role of each single node in the information flow through the network, being related to software modules and their dependencies. These metrics are compared with other traditional software metrics, like the Chidamber-Kemerer suite, and software graph metrics. We examine the empirical distributions of all the metrics, bugs included, across the software modules of several releases of two large Java systems, Eclipse and Netbeans. We provide analytical distribution functions suitable for describing and studying the observed distributions. We study also correlations among metrics and bugs. We found that the empirical distributions systematically show fat-tails for all the metrics. Moreover, the various metric distributions look very similar and consistent across all system releases and are also very similar in both the studied systems. These features appear to be typical properties of these software metrics.


International Journal of Software Engineering and Knowledge Engineering | 2012

An empirical study of software metrics for assessing the phases of an agile project

Giulio Concas; Michele Marchesi; Giuseppe Destefanis; Roberto Tonelli

We present an analysis of the evolution of a Web application project developed with object-oriented technology and an agile process. During the development we systematically performed measurements on the source code, using software metrics that have been proved to be correlated with software quality, such as the Chidamber and Kemerer suite and Lines of Code metrics. We also computed metrics derived from the class dependency graph, including metrics derived from Social Network Analysis. The application development evolved through phases, characterized by a different level of adoption of some key agile practices — namely pair programming, test-based development and refactoring. The evolution of the metrics of the system, and their behavior related to the agile practices adoption level, is presented and discussed. We show that, in the reported case study, a few metrics are enough to characterize with high significance the various phases of the project. Consequently, software quality, as measured using these metrics, seems directly related to agile practices adoption.

Collaboration


Dive into the Giulio Concas'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

Ivana Turnu

University of Cagliari

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Hongyu Zhang

University of Newcastle

View shared research outputs
Researchain Logo
Decentralizing Knowledge