Removing Long Parameter List Using Semantic Matrix

메소드의 매개변수 리스트의 간소화를 위한 리팩토링 방안

  • 함동화 (서강대학교 컴퓨터공학과) ;
  • 이준하 (서강대학교 컴퓨터공학과) ;
  • 박수진 (서강대학교 기술경영전문대학원) ;
  • 박수용 (서강대학교 컴퓨터공학과)
  • Published : 2013.12.31

Abstract

Complexity and maintenance cost of software increase as much as software has been evolved, therefore importance of software maintenance recently arise. There are many signs that are difficulties to maintain software, called bad smell, in a large-scale software. The bad smell should be removed to improve maintainability. Recently, many software refactoring methods have researched to terminate the bad smell. In this paper, we propose how to identify long parameter list, which causes bad smell, and how to solve the problem for increasing software maintainability. In our approach, we classify the parameters for creating new objects by measuring semantic similarity among them. This is evaluated by experienced software developers, and the result is statistically verified.

소프트웨어의 규모는 시간이 지남에 따라 복잡성과 유지보수 비용이 증가한다. 이로 인해 최근 유지보수의 중요성이 더욱 대두되고 있다. 소프트웨어가 진화 할수록 유지보수를 어렵게 하는 징후인 코드의 나쁜 냄새(Bad Smell)가 점점 심해지기 때문에 나쁜 냄새가 나는 코드를 제거하여 유지보수를 용이하게 개선해야 한다. 최근에는 이러한 나쁜 냄새를 위해 소프트웨어 리팩토링 기법에 대한 연구가 많이 연구되고 있다. 본 논문에서는 나쁜 냄새의 한 종류인 긴 매개변수 리스트(Long Parameter List)를 식별하고 해결하여 소프트웨어의 유지보수성을 향상시키는 방안을 제안한다. 제안되는 방안은 매개변수간의 의미적인 유사도를 측정하여 이를 군집화 하여 새로운 객체가 될 수 있는 매개변수들을 식별한다. 제안되는 방안은 경력 있는 객체지향 소프트웨어 개발자들이 군집화한 매개변수리스트와의 비교를 통해 평가되고, 그 결과가 통계적으로 검증된다.

Keywords