An Exploratory Study of Factors Influencing Change Entropy

  • Authors:
  • Gerardo Canfora;Luigi Cerulo;Massimiliano Di Penta;Francesco Pacilio

  • Affiliations:
  • -;-;-;-

  • Venue:
  • ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software systems continuously change for various reasons, such as adding new features, performing bug fixing, or doing some refactoring activities. Such changes may either increase the source code complexity and disorganization, or help to reduce it. Developers apply adequate design principles and assets, including design patterns, to make software resilient to changes and control complexity. This paper empirically investigates the relationship of source code complexity and disorganization-measured using source code entropy-with three factors: different kinds of changes occurring to software systems, the presence of design patterns in the source code, and the number of contributors that modified the source code file. Results of an exploratory study carried out on an interval of the life-time span of two open source systems, ArgoUML and Eclipse-JDT, suggest that (i) different kinds of changes-namely refactorings and other kinds of changes-may contribute either negatively or positively to the entropy, (ii) the use of design patterns does not necessarily help to mitigate code degradation-thus confirming previous findings on the role played by design patterns-and (iii) entropy tends to increase with the number of file committers.