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

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 493
  • Download : 0
DC FieldValueLanguage
dc.contributor.advisorBae, Doo-Hwan-
dc.contributor.authorHan, Ah-Rim-
dc.description학위논문(박사) - 한국과학기술원 : 전산학과, 2013.8, [ vi, 95 p. ]-
dc.description.abstractObject-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...eng
dc.subjectRefactoring identification-
dc.subject변경 경향성 예측-
dc.subject유지보수성 향상-
dc.subject리팩토링 의존성-
dc.subject리팩토링 선택-
dc.subject리팩토링 식별-
dc.subjectRefactoring selection-
dc.subjectRefactoring dependency-
dc.subjectMaintainability improvement-
dc.subjectChange-proneness prediction-
dc.titleIdentification and selection of refactorings for improving maintainability of object-oriented software = 객체지향 소프트웨어의 유지보수성 향상을 위한 리팩토링 식별 및 선택 방법에 대한 연구-
dc.identifier.CNRN566039/325007 -
dc.description.department한국과학기술원 : 전산학과, -
dc.contributor.localauthorBae, Doo-Hwan-
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