Preprints‎ > ‎

An Exploratory Study of Factors Influencing Change Entropy by Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta, Francesco Pacilio

pubblicato 30 apr 2010, 02:47 da Gerardo Canfora   [ aggiornato in data 30 apr 2010, 02:55 ]
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.
18th IEEE International Conference on Program Comprehension (ICPC 2010)
Gerardo Canfora,
30 apr 2010, 02:54