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

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 503
  • Download : 0
DC FieldValueLanguage
dc.contributor.advisorBae, Doo-Hwan-
dc.contributor.advisor배두환-
dc.contributor.authorLee, Suk-Hee-
dc.contributor.author이숙희-
dc.date.accessioned2011-12-13T05:28:05Z-
dc.date.available2011-12-13T05:28:05Z-
dc.date.issued2011-
dc.identifier.urihttp://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=466481&flag=dissertation-
dc.identifier.urihttp://hdl.handle.net/10203/33341-
dc.description학위논문(박사) - 한국과학기술원 : 전산학과, 2011.2, [ vii, 79 p. ]-
dc.description.abstractRefactoring 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...eng
dc.languageeng-
dc.publisher한국과학기술원-
dc.subjectcode clones.-
dc.subjectscheduling.-
dc.subjectrefactoring.-
dc.subjectgenetic algorithm.-
dc.subject유전 알고리즘.-
dc.subject코드 클론.-
dc.subject스케줄링.-
dc.subject리팩토링.-
dc.titleAutomated scheduling for clone based refactoring-
dc.title.alternative클론에 바탕을 둔 리팩토링을 위한 자동 스케줄링 기법-
dc.typeThesis(Ph.D)-
dc.identifier.CNRN466481/325007 -
dc.description.department한국과학기술원 : 전산학과, -
dc.identifier.uid020045866-
dc.contributor.localauthorBae, Doo-Hwan-
dc.contributor.localauthor배두환-
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