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

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 482
  • 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...
Bae, Doo-Hwanresearcher배두환
한국과학기술원 : 전산학과,
Issue Date
566039/325007  / 020075196

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


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

Appears in Collection
Files in This Item
There are no files associated with this item.


  • mendeley


rss_1.0 rss_2.0 atom_1.0