초록
소프트웨어의 요구사항 변경은 소프트웨어의 생명주기 전반에 걸쳐 발생한다. 이러한 변경은 소프트웨어의 수정을 요구하며, 소프트웨어 수정시 소프트웨어의 품질과 안정성을 향상시키는 것은 중요한 문제이다. 리팩토링은 소프트웨어의 품질과 안정성을 보장하면서 소프트웨어를 수정하는 기술이다. 따라서 리팩토링의 자동화에 대하여 다양한 연구가 이루어지고 있다. 본 논문에서는 무브 메소드(Move Method)의 적용여부를 결정지을 수 있는 세 가지 요인을 정의하였다. 정의된 요인에 의해 데이터를 샘플 프로그램에서 추출하였고, 추출된 데이터에 이진 로지스틱 회귀분석을 적용하였다. 이진 로지스틱 회귀분석을 통하여 얻은 무브 메소드 적용 여부에 대한 추측결과는 숙련된 프로그래머들의 수동분석 결과와 상당부분 일치하였다 더불어, 각 요인들은 프로그램 내에서 메소드의 위치를 결정하는데 중요하게 작용하며, 메소드의 최적 위치를 결정짓는 기준으로써 사용될 수 있음을 밝혔다.
There are many changes in the software requirements during the whole software life cycle. These changes require modification of the software, and it is important to keep software quality and stability while we are modifying the software. Refactoring is one of the technology to keep software quality and stability during the software modification; there are many researches related to automatic refactoring. In this paper, we propose three factors for Move Method which is one of the refactoring technique. We applied binomial logistic analysis to data which were extracted from sample program by each factor. The result of this process was very close to the result of manual analysis by program experts. Furthermore, we found that these factors have major roll to determine Position of a method, and these factors can be used as a basis of finding optimal position of a method.