클래스 간 메소드 위치 결정 방법의 비교

Comparative Analysis of Determination of Method Location between Classes

  • 정영애 (단국대학교 전자계산학과) ;
  • 박용범 (단국대학교 전자계산학과)
  • 발행 : 2006.12.28

초록

객체지향 패러다임에서 객체의 속성, 동작, 객체사이의 관계를 표현하는 클래스의 구성요소들에 대한 연관관계를 측정하는 응집도는 다양하게 연구되어 왔다. 리팩토링 분야에서도 개발자의 경험이나 직감에 의한 수동분석에서 자동분석에 이르기까지 다양한 연구가 제안되어 왔다. 리팩토링을 자동으로 수행하기 위해서는 수행여부를 결정짓는 객관적 판단기준에 대한 검증이 필요하다. 본 논문에서는 참조관계를 고려한 여섯 개의 메소드 위치 결정 요인과 메소드 위치에 대한 관계를 분석하기 위한 방법으로 로지스틱 회귀분석과 신경망을 사용할 것을 제안하였다. 실험 결과, 로지스틱 회귀 분석은 97%, 신경망은 90% 이상의 예측율을 보였으며, 로지스틱 회귀분석이 신경망을 이용한 방법보다 더 우수한 예측결과를 보였다. 또한 두 방법 모두 90% 이상의 예측율로 여섯 개의 메소드 위치 결정 요인이 리팩토링 무브 메소드의 객관적 판단기준으로 적용될 수 있음을 보였다.

In Object-Oriented Paradigm, various cohesion measurements have been studied taking into account reference relation among components - like attributes and methods - that belong to a class. In addition, a number of methods have taken into research utilizing manual analysis, that is performed by developer's intuition and experience, and automatic analysis in refactoring field. The verification of objective criteria is demanded in order to process automatic refactoring. In this paper, we propose a method exploiting logistic regression and neural network for analysis of the relationship between six factors considering reference relation and method location among classes. Experimental results demonstrate that the logistic regression predicts the results up to 97% and the neural network predicts the outcomes up to 90%. Hence, we conclude that the logistic regression based method is more effective to predict the method location. Moreover, more than 90% of experimental results from both methods show that the six factors used in Move Method in refactoring are suitable to be used as an objective criteria.

키워드