Ingeniero

Páginas: 19 (4745 palabras) Publicado: 28 de febrero de 2013
SOFTWARE METRICS AND ANALYSIS
Poor design choices called anti-patterns manifest themselves in the source code as code smells. Code smell is a synonym for bad implementation and is assumed to make maintenance tasks difficult to perform. In this study, the authors attempt to empirically validate whether it is possible to determine the degree of change proneness for a class on the basis of certaincode smells in an object-oriented system. In this study, they develop a tool to detect the presence of 13 different code smells in a Java class using thresholds. The data used for assessment are the source code of Quartz, an open source job scheduler, from versions 1.5.2 and 1.6.6. A total of 79 classes are examined in this study. The results suggest a clear relationship between code smells andchange proneness of a class.

Assessment of Code Smells for Predicting Class Change Proneness
Ruchika MalhotRa and nakul PRitaM Delhi Technological University

Key words
code smells, change proneness, software maintenance

INTRODUCTION
As the complexity of software being developed is increasing, so is the cost of maintaining it. With factors such as time to market, budget, and shortage ofskilled labor limiting the development process, it has become very difficult to build quality software. However, maintenance is something every developer has to worry about because it’s not possible to satisfy future requirements or test the system inside out. Since it’s not possible to predict the changes a particular software system may invite, the maintenance costs and manpower for a softwaresystem remain a mystery until they are realized. Recently, a quality factor called change proneness has emerged; it is used to quantify the amount of change a particular software system has undergone over two successive releases. The quantification is done at the class level, so the exact change a class goes through over successive releases can be computed. Researchers around the globe have tried torelate change proneness to various other attributes like design patterns, code smells, and metrics. But the results are still in the experimental phase. The most unpredictable component of change is that it is very much tied to software design, and since software design is more of an art, it is not possible to confine it in theories. The theories to date usually aim at suggesting best practicesrather than specifying exactly how a design must be made.

www.asq.org 33

Assessment of Code Smells for Predicting Class Change Proneness
There has been tremendous success in estimating some of the parameters of software as early as in the design stage using patterns and metrics. These measures allow one to quantify certain aspects of the software and predict things that otherwise cannot bepredicted until the implementation phase. This includes the work done by Chidamber and Kemerer (1994), Li and Henry (1993), and (Abreu, Coulao, and Esteves 1995) in presenting metric suites, each having its own domain of application and speciality. The motivation for this work comes from Khomh, DiPenta, and Guéhéneuc (2009), where the authors have established a link between the change proneness ofa class and some code smells it carries. They tried out multiple versions of Eclipse and Azures and found a relationship between code smells and change proneness. In this study, the authors empirically validate the ability of code smells to predict the degree of change proneness a class exhibits. They use a data set containing 79 classes obtained from an open-source task scheduler called Quartzas the subject of their study. They found the error in classifications that occurs in predictions of change proneness made using code smells. Two versions of the system are used for this study—1.5.2 and 1.6.6. The authors used the study conducted in Khomh, DiPenta, and Guéhéneuc (2009) as the foundation and assessed the presence of 13 code smells in each class to predict the degree of change...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero
  • Ingeniero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS