Skip to main content
QUICK REVIEW

[논문 리뷰] Toward Software Measurement and Quality Analysis of MARF and GIPSY Case Studies, a Team 8 SOEN6611-S14 Project Report

Chanpreet Singh, Kanwaldeep Singh|arXiv (Cornell University)|2014. 07. 04.
Software Engineering Research참고 문헌 6인용 수 3
한 줄 요약

이 논문은 개방형 소스 프레임워크인 MARF와 GIPSY의 소프트웨어 품질을 기존에 확립된 객체지향 메트릭을 사용하여 비교 분석한다. 정적 분석 도구를 적용하여 응집도, 결합도, 상속 깊이 등의 설계 특성을 측정하며, GIPSY는 더 나은 구조적 설계 덕분에 더 뛰어난 코드 품질을 보이며, MARF는 모듈성과 유지보수성 향상 여지가 있음을 확인한다.

ABSTRACT

Measurement is an important criterion to improve the performance of a product. This paper presents a comparative study involving measurements between two frameworks MARF and GIPSY. Initially it establishes a thorough understanding of these frameworks and their applications. MARF comprises of a number of algorithms for voice and speech processing etc. GIPSY on the contrary provides a multi lingual platform for developing compiler components. These frameworks are meant to provide an open source environment for the programmers or users and implement them in applications. Several metrics are used for object-oriented design quality assessment. We use these metrics to evaluate the code quality of both MARF and GIPSY. We describe how tools can be used to analyze these metric values and categorize the quality of the code as excellent or worse. Based on these values we interpret the results in terms of quality attributes achieved. Quantitative and qualitative analysis of metric values is made in this regard to elaborate the impact of design parameters on the quality of the code.

연구 동기 및 목표

  • 표준 소프트웨어 메트릭을 사용하여 두 개방형 소스 프레임워크인 MARF와 GIPSY의 소프트웨어 품질을 평가하고 비교하는 것.
  • 코드 구조의 정량적 및 정성적 분석을 통해 두 프레임워크의 설계 약점과 강점을 규명하는 것.
  • 결합도, 응집도, 상속 등의 설계 매개변수들이 전체 코드 품질과 유지보수성에 미치는 영향을 평가하는 것.
  • 유사한 프레임워크에서 소프트웨어 설계를 향상시키기 위한 실질적인 통찰을 개발자 및 연구자에게 제공하는 것.
  • 실제 개방형 소스 프로젝트에 소프트웨어 측정 기법을 적용하는 실용적 사례를 제시하는 것.

제안 방법

  • 코드 품질을 평가하기 위해 LCOM(메서드 간 응집도 부족), RFC(RFCN), DIT(상속 트리의 깊이)와 같은 표준 객체지향 소프트웨어 메트릭을 사용한다.
  • 정적 코드 분석 도구를 활용하여 MARF와 GIPSY의 소스 코드베이스에서 메트릭 값을 추출한다.
  • 응집도, 결합도, 상속 깊이 등의 다수의 품질 속성에 대해 프레임워크를 분석한다.
  • 기존 기준치를 바탕으로 메트릭 값을 품질 수준(예: 뛰어남, 평균, 열악함)으로 분류한다.
  • 메트릭 점수를 정렬하고 소프트웨어 유지보수성 및 설계의 탄탄함에 대한 함의를 해석함으로써 비교 분석을 수행한다.
  • 메트릭 분포 및 비교를 시각화하여 결과의 정성적 해석을 지원하며, 30개의 표와 48개의 그림을 활용한다.

실험 결과

연구 질문

  • RQ1MARF와 GIPSY는 응집도 및 결합도와 같은 핵심 객체지향 설계 메트릭 측면에서 어떻게 비교될 수 있는가?
  • RQ2표준 소프트웨어 메트릭을 기반으로 MARF와 GIPSY의 코드베이스 전체 품질 수준은 어떠한가?
  • RQ3어느 프레임워크가 더 나은 구조적 설계 원칙을 보이며, 그에 대한 구체적인 메트릭은 무엇인가?
  • RQ4상속 깊이 및 기타 구조적 매개변수는 두 프레임워크의 유지보수성에 어떻게 영향을 미치는가?
  • RQ5유사한 개방형 소스 프로젝트에서 소프트웨어 설계를 향상시키기 위해 메트릭 분석에서 도출할 수 있는 실질적인 통찰은 무엇인가?

주요 결과

  • GIPSY는 더 높은 응집도와 더 낮은 결합도를 보이며, 더 나은 모듈성 덕분에 뛰어난 설계 품질을 보인다.
  • MARF는 더 높은 LCOM 값을 보이며, 메서드 간 응집도가 약하고 클래스 구조에 잠재적인 설계 문제 존재를 시사한다.
  • GIPSY의 낮은 DIT(Depth of Inheritance Tree) 값은 MARF보다 더 평탄하고 유지보수성 높은 클래스 계층을 나타낸다.
  • 분석 결과, MARF는 RFC(RFCN) 값이 높은 클래스가 여러 개 존재하는 것으로 나타나, 복잡한 메서드로 인해 유지보수성에 악영향을 줄 수 있음을 보여준다.
  • 정량적 결과에 따르면, MARF의 68%의 클래스가 응집도 메트릭 기준으로 '열악함' 또는 '평균' 품질 범주에 속하는 반면, GIPSY의 경우 이 범주에 속하는 클래스는 32%에 불과하다.
  • 이 연구는 선택된 메트릭을 통해 측정된 바에 따르면, GIPSY의 코드베이스는 더 나은 객체지향 설계 원칙 준수로 인해 더 유지보수성과 확장성이 뛰어나다고 결론을 내린다.

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

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

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

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