초록
Refactoring has been actively used in recent software developments. Many studies on the processing of more large scaled composite refactorings have been conducted through the composition of elementary refactorings. It is important to verify the possibility of composition before the refactoring is performed, because the composite refactorings are processed to the sequence of composed elementary refactorings. In conventional studies, they verify the possibility of composition using the precondition of composite refactorings which are computed from the precondition and postcondition of elementary refactorings. They can not verify the possibility of composition in case which composite refactorings do not have a specification of precondition. Thus, we plan to verify the possibility of composition by using the elementary refactorings only without any additional definitions of the preconditions of composite refactorings. To achieve this goal, we proposes a specification method of elementary refactorings and a method for the composition check of refactorings. Then, we develop a prototype tool based on these methods. In addition, we verify the efficiency of our methods through case studies.
최근의 소프트웨어 개발에서는 리팩토링이 활발하게 이용되고 있다. 리팩토링에 대한 관심이 높아지면서 요소 리팩토링을 정의해서 이들의 조립을 통해 더 큰 종류의 복합 리팩토링을 처리하려는 연구들이 많이 진행되고 있다. 복합 리팩토링은 조합된 요소 리팩토링의 순서대로 처리되기 때문에 프로그램에 실제 적용하기에 앞서 적용 가능성을 판단하는 것이 중요하다. 기존 연구들에서는 요소 리팩토링들의 선 후행조건들로부터 복합 리팩토링에 대한 선행조건을 계산하여 적용 가능성을 판단하고 있다. 이것은 선행조건이 정의되어 있는 복합 리팩토링만 판별할 수 있으며 선행조건이 정의되어 있지 않은 복합 리팩토링에 대해서는 적용 가능성을 판단할 수 없는 문제점이 있다. 본 연구에서는 복합 리팩토링의 명세를 추가로 정의 하지 않고 요소 리팩토링만으로 조립 가능 여부를 판단하고자 한다. 이를 위해 요소 리 팩토링을 명세하는 방법과 조립성 검사 방법을 제안한다. 이를 기반으로 프로토타입 도구를 개발해 보고, 적용사례를 통해 선행조건이 명세되어 있지 않은 복합 리팩토링들의 조립성 검사를 확인해봄으로써 본 연구의 효용성을 검토해본다.