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)|Jul 4, 2014
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.

研究の動機と目的

  • 標準化されたソフトウェアメトリクスを用いて、2つのオープンソースフレームワーク、MARFとGIPSYのソフトウェア品質を評価・比較すること。
  • コード構造の定量的および定性的分析を通じて、両フレームワークにおける設計上の弱みと強みを特定すること。
  • 結合度、凝集度、継承などの設計パrameterが、全体的なコード品質および保守性に与える影響を評価すること。
  • 類似したフレームワークにおけるソフトウェア設計の改善に役立つ実用的インサイトを開発者および研究者に提供すること。
  • 実世界のオープンソースプロジェクトにおけるソフトウェア測定技術の実用的応用を示すこと。

提案手法

  • コード品質を評価するために、LCOM(メソッド間の凝集度の欠如)、RFC(RFCN)、DIT(継承木の深さ)などの標準的な面向オブジェクト指向ソフトウェアメトリクスを採用している。
  • 静的コード解析ツールを用いて、MARFおよびGIPSYのソースコードベースからメトリクス値を抽出している。
  • 凝集度、結合度、継承の深さといった複数の品質属性にわたり、フレームワークを分析している。
  • 既存の閾値に基づいて、メトリクス値を品質レベル(例:優れた水準、平均、悪い水準)に分類している。
  • メトリクススコアを一致させ、それらがソフトウェアの保守性および設計の堅牢性に与える影響を解釈することで、比較分析を実施している。
  • メトリクスの分布および比較を図示する30の表および48の図を用いた可視化により、結果の定性的解釈を支援している。

実験結果

リサーチクエスチョン

  • RQ1MARFとGIPSYは、凝集度や結合度といった重要な面向オブジェクト指向設計メトリクスにおいて、どのように比較されるか?
  • RQ2標準化されたソフトウェアメトリクスに基づいて、MARFおよびGIPSYのコードベースの全体的な品質水準は何か?
  • RQ3どのフレームワークがより優れた構造的設計原理を示しており、その具体的なメトリクスは何か?
  • RQ4継承の深さおよびその他の構造的パrameterは、2つのフレームワークの保守性にどのように影響するか?
  • RQ5類似したオープンソースプロジェクトにおけるソフトウェア設計の改善に役立つ、メトリクス分析から得られる実用的インサイトは何か?

主な発見

  • GIPSYは、MARFよりも凝集度が高く、結合度が低いという点で、優れた設計品質を示しており、これはより良いモジュラリティを示している。
  • MARFは、LCOM値が高く、クラス構造におけるメソッドの凝集度が弱く、潜在的な設計上の問題を示している。
  • GIPSYのDIT(継承木の深さ)値が低いことから、MARFよりも平坦で保守性の高いクラス階層であると判明した。
  • 分析により、MARFにはRFC(RFCN)値が非常に高いクラスが複数存在し、保守性に悪影響を及ける複雑なメソッドが存在することが明らかになった。
  • 定量的結果では、MARFのクラスの68%が凝集度メトリクスに基づいて「悪い」または「平均的」という品質カテゴリに属している一方、GIPSYのクラスのうちその範囲にあるのは32%にとどまっている。
  • 本研究は、選択されたメトリクスによって測定された面向オブジェクト指向設計原則への適合度が高く、GIPSYのコードベースがMARFよりも保守性およびスケーラビリティに優れていると結論づけた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。