Automated scheduling for clone-based refactoring using a competent GA

Cited 31 time in webofscience Cited 0 time in scopus
  • Hit : 910
  • Download : 0
Refactoring is a widely accepted technique to improve the software quality by restructuring its design without changing its behavior. In general, a sequence of refactorings needs to be applied until the quality of the code is improved satisfactorily. In this case, the final design after refactoring can vary with the application order of refactorings, thereby producing different quality improvements. Therefore, it is necessary to determine a proper refactoring schedule to obtain as many benefits as possible. However, there is little research on the problem of generating appropriate schedules to maximize quality improvement. In this paper, we propose an approach to automatically determine an appropriate schedule to maximize quality improvement through refactoring. We first detect code clones that are suitable for refactoring and generate the most beneficial refactoring schedule to remove them. It is straightforward to select the best from the exhaustively enumerated schedules. However, such a technique becomes NP-hard, as the number of available refactorings increases. We apply a genetic algorithm (GA) to generate the best refactoring schedule within a reasonable time to cope with this problem. We compare the GA-based approach with manual scheduling, greedy heuristic-based, and exhaustive approaches for four open systems. The results show that the proposed GA-based approach generates more beneficial schedules than the others. Copyright (C) 2010 John Wiley & Sons, Ltd.
Publisher
WILEY-BLACKWELL
Issue Date
2011-04
Language
English
Article Type
Article
Keywords

OBJECT-ORIENTED DESIGN; GENETIC ALGORITHMS; CODE; QUALITY; SYSTEM

Citation

SOFTWARE-PRACTICE EXPERIENCE, v.41, no.5, pp.521 - 550

ISSN
0038-0644
DOI
10.1002/spe.1031
URI
http://hdl.handle.net/10203/100670
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
There are no files associated with this item.
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 31 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0