Software Evolution Characterization - A Complex Network Approach
Software evolution has been the subject of research in the last decades, revealing that a software system has continuing growth, continuing changes, increasing complexity and declining quality. However, the knowledge about how this process occurs is not consolidate yet. This paper presents the results of a study about software evolution characterization based on concepts of Complex Networks. We analyzed 16 open-source software systems and one commercial application, in a total of 129 versions. The results of this study show that: the density of a software network decreases as the software system grows; the diameter of such networks is short; the classes with higher in-degree keep this status; such classes are unstable and their internal cohesion degrades. Our investigations also revealed an interesting picture which models the macroscopic structure of software networks. We called it the little house.