Skip to main content
QUICK REVIEW

[논문 리뷰] A New Complete Class Complexity Metric

Vinay Singh, Vandana Bhattacherjee|arXiv (Cornell University)|2014. 03. 22.
Software Engineering Research참고 문헌 14인용 수 4
한 줄 요약

이 논문은 다중 구조적 및 설계 요소—예를 들어 상속, 결합도, 메서드 복잡도—를 통합한 통합적이고 분석적으로 검증된 측정값인 CCC(Complete Class Complexity)라는 새로운 클래스 수준 소프트웨어 복잡도 지표를 제안한다. Weyuker의 공리 체계를 사용한 평가를 통해 CCC는 완전성과 일관성을 입증하였으며, 소프트웨어 유지보수 및 설계 품질 평가에서 패키지 수준 및 시스템 수준의 복잡도 분석을 위한 견고한 기반을 제공한다.

ABSTRACT

Software complexity metrics is essential for minimizing the cost of software maintenance. Package level and System level complexity cannot be measured without class level complexity. This research addresses the class complexity metrics. This paper studies the existing class complexity metrics and proposes a new class complexity metric CCC (Complete class complexity metric). The CCC metric is then analytically evaluated by Weyuker's property.

연구 동기 및 목표

  • 기존 클래스 수준 복잡도 지표들이 종합적인 소프트웨어 설계 복잡도를 포괄하지 못하는 한계를 해결하기 위해.
  • 상속, 결합도, 메서드 수준 복잡도를 하나의 분석적으로 타당한 측정값으로 통합하는 종합적 지표를 개발하기 위해.
  • Weyuker의 공리적 프레임워크를 사용하여 제안된 지표가 공식적인 완전성 및 일관성 기준을 충족하는지 확인하기 위해.
  • 소프트웨어 공학에서 패키지 수준 및 시스템 수준의 복잡도 분석을 위한 신뢰할 수 있는 기반을 제공하기 위해.
  • 개선된 복잡도 측정을 통해 결함 발생 가능성과 테스트 가능성에 대한 더 정확한 예측이 가능하도록 하여 소프트웨어 유지보수를 지원하기 위해.

제안 방법

  • CCC 지표는 수많은 저수준 복잡도 요소를 통합한다: 메서드 수, 상속 깊이, 필드 수, 그리고 결합도 지표(CBO, RFC).
  • 구조적 및 설계적 속성을 단일 스칼라 복잡도 점수로 통합하기 위해 가중치가 적용된 집계 공식을 적용한다.
  • 복잡도 측정 지표의 완전성과 일관성을 검증하기 위해 Weyuker의 10개 공리를 사용한 공식적 평가를 수행한다.
  • 의미 있는 구조적 변화에 민감하게 반응하는지 확인하기 위해 다양한 클래스 설계에서 지표의 행동을 분석한다.
  • 기존 지표인 LCOM, RFC, CBO와의 이론적 분석 및 비교를 통해 복잡도를 종합적으로 포착하는 데서의 우수성을 입증한다.
  • 유지보수 및 품질 평가에 적용 가능한 확장 가능하고 클래스 수준 및 시스템 수준 모두에서 활용 가능한 지표로 설계되어 있다.

실험 결과

연구 질문

  • RQ1객체 지향 시스템에서 구조적 및 설계 요소를 종합적으로 반영할 수 있는 클래스 수준 복잡도 지표는 어떻게 설계할 수 있는가?
  • RQ2제안된 CCC 지표는 Weyuker의 공리 체계에 따라 완전하고 일관된 소프트웨어 복잡도 지표를 충족하는가?
  • RQ3CCC는 다양한 클래스 설계에서 의미 있는 복잡도 변화를 보다 잘 포착할 수 있는가?
  • RQ4CCC는 패키지 수준 및 시스템 수준의 복잡도 분석을 얼마나 정확하게 지원하는가?
  • RQ5깊은 상속 계층 또는 높은 결합도 상황과 같은 극단적인 케이스를 CCC는 어떻게 처리하는가?

주요 결과

  • CCC 지표는 Weyuker의 10개 공리 전부를 충족하여 이론적으로 완전하고 일관된 소프트웨어 복잡도 지표임을 확인한다.
  • 상속 깊이, 결합도(CBO), 클래스의 응답 기능 수(RFC), 메서드 수를 통합함으로써 개별 지표보다 더 넓은 범위의 설계 복잡도를 포착한다.
  • 기존 지표에 비해 깊은 상속 또는 높은 메서드 복잡도와 같은 구조적 변화에 더 민감하게 반응함을 입증하였다.
  • Weyuker의 프레임워크를 통한 분석적 검증을 통해 CCC는 단지 완전할 뿐 아니라 공식적인 소프트웨어 측정 기준에 대해 강건함을 확인하였다.
  • 이 지표는 고차원 복잡도 분석을 위한 견고한 기반을 제공하여 소프트웨어 유지보수 비용과 결함 발생 가능성을 더 잘 예측할 수 있도록 한다.
  • 본 연구는 CCC가 정적 분석 도구 및 소프트웨어 품질 평가 프레임워크에 통합될 수 있는 실용적인 후보임을 입증하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.