arrow
Return

How changes affect software entropy: an empirical study

delete2012-07-14
delete49
PRE
AI
G
Gerardo Canfora
L
Luigi Cerulo
M
Marta Cimitile
M
Massimiliano Di Penta *
DOI:10.1007/s10664-012-9214-zdelete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Context Software systems continuously change for various reasons, such as adding new features, fixing bugs, or refactoring. Changes may either increase the source code complexity and disorganization, or help to reducing it. Aim This paper empirically investigates the relationship of source code complexity and disorganization-measured using source code change entropy-with four factors, namely the presence of refactoring activities, the number of developers working on a source code file, the participation of classes in design patterns, and the different kinds of changes occurring on the system, classified in terms of their topics extracted from commit notes. Method We carried out an exploratory study on an interval of the life-time span of four open source systems, namely ArgoUML, Eclipse-JDT, Mozilla, and Samba, with the aim of analyzing the relationship between the source code change entropy and four factors: refactoring activities, number of contributors for a file, participation of classes in design patterns, and change topics. Results The study shows that (i) the change entropy decreases after refactoring, (ii) files changed by a higher number of developers tend to exhibit a higher change entropy than others, (iii) classes participating in certain design patterns exhibit a higher change entropy than others, and (iv) changes related to different topics exhibit different change entropy, for example bug fixings exhibit a limited change entropy while changes introducing new features exhibit a high change entropy. Conclusions Results provided in this paper indicate that the nature of changes (in particular changes related to refactorings), the software design, and the number of active developers are factors related to change entropy. Our findings contribute to understand the software aging phenomenon and are preliminary to identifying better ways to contrast it.
Keywords:
Software entropy
Software complexity
Mining software repositories

Journal

Empirical Software Engineering cover
Empirical Software Engineering
IF:
3.6
Papers:
2.0K
Citations:
5.3K

Organization

University of Sannio cover
University of Sannio
Scholars:
2.3K
Papers: 2.2K
Citations: 2.3K
U
universita degli studi di roma unitelma sapienza
Scholars:
89
Papers: 164
Citations: 0
Cited Papers

Cited Papers

Broadband acoustic converging and asymmetric converging based on thermoacoustic phased arrays
err2019-01-09
err0
PREAI
errHong-xiang Sun; An-ru Hou; Jiao Qian; Yong Ge; Shou-qi Yuan; Yi-Jun Guan; Qiao-rui Si; Xiao-jun Liu
errShare
errSave
Machine Learning Investigation For Tri-Magnetized Sutterby Nanofluidic Model with Joule Heating In Agrivoltaics Technology
errNano
IF0
err2024-07-30
err0
PREAI
errHamid Qureshi; Zahoor Shah; Muhammad Asif Zahoor Raja; Muhammad Shoaib; Waqar Azeem Khan
errShare
errSave
Prognostic factors of adult tuberculous meningitis in intensive care unit: a single-center retrospective study in East China
err2021-08-10
err0
errOAAI
errBaobao Feng; Xiao Fei; Ying Sun; Xingguo Zhang; Deya Shang; Yi Zhou; Meiyan Sheng; Jiarui Xu; Wei Zhang; Wanhua Ren
errShare
errSave
Does code decay? Assessing the evidence from change management data
err2001-01-01
err344
PREAI
errEick, SG; Graves, TL; Karr, AF; Marron, JS; Mockus, A
errShare
errSave
Semantic clustering: Identifying topics in source code
err2007-03-01
err343
PREAI
errKuhn, Adrian; Ducasse, Stephane; Girba, Tudor
errShare
errSave
Effect of early bladder stimulation on spinal shock: Experimental approach
err1992-12-01
err0
PREAI
errM. Hassouna; J.S. LI; M. Sawan; F. Duval; R. Latt; M.M. Elhilali
errShare
errSave
researcher View more