This paper explores the relationship between cumulative change and complexity in an evolving open source system. The study involves measurements at the function and file level. In order to measure cumulative change, the approach used a metric termed release-touches, which counts the number of releases for which a given file has been modified. Based on the value of this metric, we ranked the files and used the ranking in order to identity two groups, the more stable and the less stable parts of the source code. Complexity was measured using two derivatives of the McCabe index. Histograms and distributions were visually and statistically analyzed. The results empirically suggest that at the file level there are correlations between high cumulative change, large size and high complexity. This paper provides an approach for identifying which functions need to be refactored first if one wishes to reduce the complexity of the system.
['Andrea Capiluppi', 'Alvaro E. Faria', 'Juan F. Ramil']
Exploring the relationship between cumulative change and complexity in an open source system