CHARACTERISTICS OF CLASS COLLABORATION NETWORKS IN LARGE JAVA SOFTWARE PROJECTS
DOI:
https://doi.org/10.5755/j01.itc.40.1.192Keywords:
collaboration network, Java, scale-free, small-world, software evolutionAbstract
Understanding software structural complexity and evolution plays an important role in controlling the software development and maintenance process. Recent studies have shown that the theory behind complex networks, especially the theory of scale-free networks, can be a useful approach to the analysis of concrete software systems. In this paper, class collaboration networks associated with five large Java software systems (JDK, Ant, Tomcat, Lucene and JavaCC) are analyzed in order to determine whether they belong to the class of scale-free networks, and examine their small-world characteristics. For each analyzed network, we detected (approximately) scale-free and (ultra) small-world properties. The results indicate that general conclusions from scale-free network theory can be applied to Java software systems in order to understand their structural complexity and model software evolution at the structural (class collaboration) level. Moreover, we examine class collaboration network evolution of Ant, in order to check the preferential attachment hypothesis of the Barabasi-Albert model. For several major Ant network transitions we con-clude that preferential attachment can successfully model Ant evolution at the class collaboration level. Finally, we discuss the implications of our results on software engineering, in several aspects: identification of important clas-ses/interfaces, software testing strategy, and efficient communication among software entities.Downloads
Published
2011-03-01
Issue
Section
Articles
License
Copyright terms are indicated in the Republic of Lithuania Law on Copyright and Related Rights, Articles 4-37.