[論文レビュー] Identifying Clusters of Concepts in a Low Cohesive Class for Extract Class Refactoring Using Metrics Supplemented Agglomerative Clustering Technique
本稿では、低結合度クラスにおける概念クラスタを特定するための、メトリクス補完型階層的クラスタリング手法を提案する。結合度メトリクスと階層的クラスタリングを組み合わせることで、メソッドおよび属性の自然なグループ化を効果的に検出でき、ソフトウェアの保守性向上に寄与する抽出クラスリファクタリングを支援する。2つの例および事例研究を通じて、クラス結合度の向上という定量的改善が確認された。
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の性質を用いた検証を通じて、理論的妥当性と結合度測定への関連性が確認された。
- 本手法は、2つの例題システムおよび実世界の事例研究において、整合性のある概念クラスタを効果的に特定した。
- クラスタリングの結果、機能的責任と整合する明確なメソッドおよび属性のグループ化が得られ、効果的な抽出クラスリファクタリングを支援した。
- 本手法は、リファクタリング候補の検出に体系的かつ繰り返し可能なアプローチを提供し、設計改善意思決定における主観性を低減した。
- メトリクスと階層的クラスタリングを統合することで、従来の結合度分析のみに比べ、クラスタ検出の精度が向上した。
- 本手法により、低結合度クラスを高結合度コンポonentに的確にリファクタリング可能となり、ソフトウェアの保守性が向上した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。