Software quality and community structure in Java software networks

CONCAS, GIULIO;MARCHESI, MICHELE;MONNI, CRISTINA;ORRU', MATTEO;TONELLI, ROBERTO
2017-01-01

Abstract

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 metrics: the number of detected communities inside a software network and the clustering coefficient. We finally found a linear correlation between clustering coefficient and number of communities. Our results can be used to make predictive hypotheses about software defectiveness of future releases of the analyzed systems.
2017
Community structure; Modularity; Software quality; Defectiveness; Defect prediction
Files in This Item:
File Size Format  
IJSEKE2017.pdf

Solo gestori archivio

Type: versione editoriale
Size 913.53 kB
Format Adobe PDF
913.53 kB Adobe PDF & nbsp; View / Open   Request a copy

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Questionnaire and social

Share on:
Impostazioni cookie