[논문 리뷰] Identifying Clusters of Concepts in a Low Cohesive Class for Extract Class Refactoring Using Metrics Supplemented Agglomerative Clustering Technique
이 논문은 개선된 소프트웨어 유지보수성을 위해 저공명도 클래스에서 개념 클러스터를 식별하기 위해 메트릭스를 보완한 응집형 군집화 기법을 제안한다. 응집도 메트릭스와 계층적 군집화를 조합함으로써 메서드와 속성의 자연스러운 군집을 효과적으로 탐지할 수 있으며, 이는 타겟팅된 리팩터링을 가능하게 하여 소프트웨어 유지보수성을 향상시킨다. 두 가지 예제와 사례 연구를 통해 검증되었으며, 클래스 응집도 향상에 측정 가능한 개선 효과를 보였다.
Object oriented software with low cohesive classes can increase maintenance cost. Low cohesive classes are likely to be introduced into the software during initial design due to deviation from design principles and during evolution due to software deterioration. Low cohesive class performs operations that should be done by two or more classes. The low cohesive classes need to be identified and refactored using extract class refactoring to improve the cohesion. In this regard, two aspects are involved; the first one is to identify the low cohesive classes and the second one is to identify the clusters of concepts in the low cohesive classes for extract class refactoring. In this paper, we propose metrics supplemented agglomerative clustering technique for covering the above two aspects. The proposed metrics are validated using Weyuker's properties. The approach is applied successfully on two examples and on a case study.
연구 동기 및 목표
- 객체 지향 소프트웨어에서 저응집도 클래스로 인한 높은 유지보수 비용 문제를 해결하기 위해.
- 저응집도 클래스 내 관련 개념의 클러스터를 식별하여 추출 클래스 리팩터링의 대상으로 삼기 위해.
- 자동화 또는 반자동화된 리팩터링 결정을 지원하는 체계적이고 메트릭 기반의 접근법을 개발하기 위해.
- 이론적 타당성을 확보하기 위해 Weyuker의 성질을 사용하여 제안된 응집도 메트릭스를 검증하기 위해.
- 실제 소프트웨어 예제와 사례 연구를 통해 기술의 실용적 적용 가능성을 입증하기 위해.
제안 방법
- 먼저 클래스 내 메서드와 속성 간의 관계를 기반으로 응집도 메트릭스—즉, 메서드와 속성의 응집도 점수를 계산한다.
- 이 메트릭스는 응집형 군집화 알고리즘의 입력 특징으로 사용되어 메서드와 속성을 개념적으로 일관된 클러스터로 그룹화한다.
- 군집화 과정은 개별 요소를 개별 클러스터로 시작하여 유사도 기준에 따라 가장 유사한 클러스터를 반복적으로 병합함으로써 진행되며, 응집도 메트릭스를 거리 측정 기준으로 사용한다.
- 정지 기준(예: 클러스터 간 유사도의 임계값 또는 원하는 클러스터 수)을 충족할 때까지 알고리즘이 계속된다.
- 최종적으로 생성된 클러스터는 별도의 클래스로 추출할 수 있는 책임의 논리적 묶음으로 표현된다.
- 메트릭스의 타당성과 의미를 보장하기 위해 Weyuker의 성질을 사용하여 접근법을 검증한다.
실험 결과
연구 질문
- RQ1어떻게 응집도 메트릭스를 군집화 기법과 효과적으로 융합하여 저응집도 클래스 내 자연스러운 개념 클러스터를 식별할 수 있는가?
- RQ2제안된 응집도 메트릭스가 타당성을 입증하기 위해 Weyuker의 이론적 성질을 얼마나 충족하는가?
- RQ3제안된 기술이 실제 소프트웨어 예제와 사례 연구에서 의미 있는 클러스터를 성공적으로 탐지할 수 있는가?
- RQ4메트릭스와 응집형 군집화의 통합이 추출 클래스 리팩터링 결정의 정확성과 신뢰도를 어떻게 향상시키는가?
- RQ5이 방법은 소프트웨어 유지보수 및 리팩터링 지원에 있어 실용적으로 얼마나 효과적인가?
주요 결과
- 제안된 응집도 메트릭스는 Weyuker의 성질을 사용하여 성공적으로 검증되었으며, 이는 이론적 타당성과 응집도 측정에 대한 관련성을 확인시켰다.
- 이 기술은 두 가지 예제 시스템과 실생활 사례 연구에서 일관된 개념 클러스터를 성공적으로 식별하여 실용적 적용 가능성을 입증했다.
- 군집화 결과는 功能적 책임과 일치하는 메서드와 속성의 명확한 묶음들을 드러내어 효과적인 추출 클래스 리팩터링을 뒷받침했다.
- 이 방법은 리팩터링 후보를 탐지하는 데 있어 체계적이고 반복 가능한 접근법을 제공하여 설계 개선 결정의 주관성을 감소시켰다.
- 메트릭스와 응집형 군집화의 통합은 기존 응집도 분석만으로는 달성할 수 없었던 클러스터 탐지 정밀도를 향상시켰다.
- 이 방법은 저응집도 클래스를 더 높은 응집도를 가진 컴포넌트로의 타겟팅 리팩터링을 가능하게 하여 소프트웨어 유지보수성을 향상시켰다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.