Automated Code Smell Detection and Refactoring using OCL


The KIPS Transactions:PartD, Vol. 15, No. 6, pp. 825-840, Dec. 2008
10.3745/KIPSTD.2008.15.6.825,   PDF Download:

Abstract

Refactoring is a kind of software modification process that improves system qualities internally but maintains system functions externally. What should be improved on the existing source codes should take precedence over the others in such a modification process using this refactoring. Martin Fowler and Kent Beck proposed a method that identifies code smells for this purpose. Also, some studies on determining what refactoring will be applied to which targets through detecting code smells in codes were presented. However, these studies have a lot of disadvantages that show a lack of precise description for such code smells and detect limited code smells only. In addition, these studies showed other disadvantages that generate ambiguity in behavior preservation due to the fact that a description method of pre-conditions for the behavior preservation is included in a refactoring process or unformalized. Thus, our study represents a precise specification of code smells using OCL and proposes a framework that performs a refactoring process through the automatic detection of code smells using an OCL interpreter. Furthermore, we perform the automatic detection in which the code smells are be specified by using OCL to the java program and verify its applicability and effectivity through applying a refactoring process.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
T. W. Kim and T. G. Kim, "Automated Code Smell Detection and Refactoring using OCL," The KIPS Transactions:PartD, vol. 15, no. 6, pp. 825-840, 2008. DOI: 10.3745/KIPSTD.2008.15.6.825.

[ACM Style]
Tae Woong Kim and Tae Gong Kim. 2008. Automated Code Smell Detection and Refactoring using OCL. The KIPS Transactions:PartD, 15, 6, (2008), 825-840. DOI: 10.3745/KIPSTD.2008.15.6.825.