Structural Evolution of an Open Source System: A Case Study

  • Authors:
  • Affiliations:
  • Venue:
  • IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software evolution empirical studies are madepossible only when data is available and easilycollectable. Open Source software provides a goodopportunity for observing software products in variousphases of their evolution, growth and maturity.One of the aspects that have not been analyzed yetthrough empirical studies is the relation that existsbetween code components growth and the evolving codestructure. In this paper we look at the growth of codeelements by measuring the total number of files perrelease and also by visualizing the folder structure as atree. Both, the number of files and the shape of the foldertree structure offer proxies to study the evolvingcomplexity of the system. In this study, a number ofhypotheses about the evolutionary patterns in the size offiles and folders, in the folder tree structure, reflectingcommon assumptions on software engineering and OpenSource are tested against empirical data reflecting theevolution of the ARLA system. We also relate some of theobserved patterns to the arrival rate of new developers.Results show that the number of code components(files and folders) over releases can be interpreted as alinear trend with a superimposed ripple. We alsodescribe the more apparent characteristics of theevolution of the folder tree structure. Furthermore, weobserve that the average size of files and folders tends tostabilize over releases. The cumulative number of peoplewho have been involved as developers of the systemfollows a trend which resembles that of the size in filesover releases, suggesting that the latter could provide agood indicator for rate of work and productivity. Therewas no apparent relation between the arrival rate ofdevelopers and the changes observed in the codestructure.