• DocumentCode
    3178836
  • Title

    An Exploratory Study of Factors Influencing Change Entropy

  • Author

    Canfora, Gerardo ; Cerulo, Luigi ; Penta, Massimiliano Di ; Pacilio, Francesco

  • Author_Institution
    Dept. of Eng., Univ. of Sannio, Sannio, Italy
  • fYear
    2010
  • fDate
    June 30 2010-July 2 2010
  • Firstpage
    134
  • Lastpage
    143
  • 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.
  • Keywords
    object-oriented programming; public domain software; software maintenance; ArgoUML; Eclipse-JDT; change entropy; design pattern; design principle; disorganization-measured; life-time span; open source system; refactoring activity; software change; software system; source code complexity; source code entropy; Acoustic scattering; Aging; Biological information theory; Degradation; Delay; Entropy; History; Humans; Software measurement; Software systems; Software evolution; design patterns; empirical study; software entropy;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension (ICPC), 2010 IEEE 18th International Conference on
  • Conference_Location
    Braga, Minho
  • ISSN
    1092-8138
  • Print_ISBN
    978-1-4244-7604-6
  • Electronic_ISBN
    1092-8138
  • Type

    conf

  • DOI
    10.1109/ICPC.2010.32
  • Filename
    5521755