Automated scheduling for clone based refactoring클론에 바탕을 둔 리팩토링을 위한 자동 스케줄링 기법

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 490
  • Download : 0
Refactoring is a widely accepted technique to improve 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 improvement. 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 thesis, we propose an approach to automatically determine an appropriate schedule to maximize quality improvement through refactoring. Our approach to scheduling refactoring for code clones consists of three steps. First, we identify where to apply refactoring by detecting code clones suitable for refactoring. To do this, we define method clone sets, as code clones suitable for refactoring from a refactoring view point. Second, we detect a set of refactorings that can be applied to the detected clones. For this purpose, we propose a set of rules to determine appropriate refactoring operators from given code clones. Finally, we generate the best refactoring schedule to maximize the quality improvement achieved by refactoring. A straightforward way to generate the best schedule is to generate all possible schedules and then select the most beneficial one. However, such a brute force approach is obviously time consuming because, theoretically from n refactorings, n! refactoring schedules can be generated. As the number of refactorings increases, the number of possible refactoring schedules increases exponentially. Therefore, scheduling refactorings by investigating all the possible sequences may become NP-hard. To generate an appropriate refactoring schedule within a reasonable computation cost, we adapt a GA that has been widely used to find...
Advisors
Bae, Doo-Hwanresearcher배두환researcher
Description
한국과학기술원 : 전산학과,
Publisher
한국과학기술원
Issue Date
2011
Identifier
466481/325007  / 020045866
Language
eng
Description

학위논문(박사) - 한국과학기술원 : 전산학과, 2011.2, [ vii, 79 p. ]

Keywords

code clones.; scheduling.; refactoring.; genetic algorithm.; 유전 알고리즘.; 코드 클론.; 스케줄링.; 리팩토링.

URI
http://hdl.handle.net/10203/33341
Link
http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=466481&flag=dissertation
Appears in Collection
CS-Theses_Ph.D.(박사논문)
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0