Identification and selection of refactorings for improving maintainability of object-oriented software객체지향 소프트웨어의 유지보수성 향상을 위한 리팩토링 식별 및 선택 방법에 대한 연구

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 709
  • Download : 0
Object-oriented software undergoes continuous changes with various maintenance activities. Due to the changes, the design quality of the software degrades overtime. Thus, refactoring can serve to restructure the design of object-oriented software without altering its external behavior to improve maintainability, which in turn reduces maintenance costs and shortens time-to-market.In the thesis, we provide the methods for supporting systematic refactoring identification: refactoring candidate identification and refactoring selection. For identifying refactoring candidates, we use top-down and bottom-up approaches. First, for the top-down approach-a traditional way of finding refactoring opportunities by using heuristic rules for eliminating violations of design principles in object-oriented software systems-, we establish the rules to identity the refactoring candidates with the aim of reducing dependencies of entities for methods and classes. When establishing the rules, we are motivated by the studies that dynamic information-how the system is utilized-is an important factor for estimating changes. Therefore, to perform refactorings that effectively improve maintainability, the entities are found based on how the users utilize the software (e.g., user scenario and operational profile); and within these entities, refactoring candidates are identified. Second, for the bottom-up approach-the way of finding refactoring opportunities without pre-defined patterns or rules-, we develop the method for grouping entities-methods and attributes-by using the concept of the maximal independent set in graph theory. When grouping entities, we take into account the new dependency of refactorings-refactoring effect dependency on maintainability-as well as the syntactic dependency of refactorings. The entities involved in each maximal independent set are mapped into a group of elementary refactorings and these refactorings can be applied at the same time. For selecting refactor...
Advisors
Bae, Doo-Hwanresearcher배두환
Description
한국과학기술원 : 전산학과,
Publisher
한국과학기술원
Issue Date
2013
Identifier
566039/325007  / 020075196
Language
eng
Description

학위논문(박사) - 한국과학기술원 : 전산학과, 2013.8, [ vi, 95 p. ]

Keywords

Refactoring identification; 변경 경향성 예측; 유지보수성 향상; 리팩토링 의존성; 리팩토링 선택; 리팩토링 식별; Refactoring selection; Refactoring dependency; Maintainability improvement; Change-proneness prediction

URI
http://hdl.handle.net/10203/197800
Link
http://library.kaist.ac.kr/search/detail/view.do?bibCtrlNo=566039&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