オブジェクト指向プログラムのための 動的結合メトリクスの評価 竹原 元康 井上研究室 発表内容 研究の背景 動的複雑度メトリクス 実験計画の作成 評価実験と分析 まとめ 2015/10/01 修士論文発表会 1 背景(1/3) 複雑度メトリクス オブジェクト指向開発方法論による ソフトウェア開発の活発化 オブジェクト指向ソフトウェアの開発管理を効果的に行 うためには各工程においてメトリクスを使用し,品質や 進捗状況の定量的な評価が必要 Chidamberらの複雑度メトリクス(C&Kメトリクス) 6種類のメトリクスを定義し,それぞれのメトリクスでクラス間 の結合や継承関係等の複雑さを計測 2015/10/01 修士論文発表会 2 背景(2/3) 動的複雑度メトリクス ソフトウェアの動的複雑度(実行時のソフトウェアの振舞い) の重要性が指摘されている Yacoubらによるオブジェクト指向ソフトウェアに対する動的な 複雑度メトリクス[1] 特定の入力データに対する評価 クラス間メッセージの送受信回数 状態遷移の複雑さ 提案のみがされており有効性についての評価が不十分 [1]Yacoub S., Ammar H. and Robinson T.: ``Dynamic Metrics for Object Oriented Designs'', Proceedings of the Sixth International Symposium on Software Metrics,pp. 50-61 (1999). 2015/10/01 修士論文発表会 3 背景(3/3) 評価の重要性 ソフトウェア工学の分野で数多くの手法やツールが提案 されてきているが,その有効性についての具体的な証拠 はほとんど収集されていない[2]. Empirical Software Engineering 実際のソフトウェア開発現場や研究機関において様々 な状況(コンテキスト)を設定し,理論や技術の適用実験 (ソフトウェア工学実験)を行い,その妥当性や有効性な どを検証する [2] W. F. Tichy, N. Harbermann and L. Prechelt: "Future directions in software engineering," ACM SIGSOFT, Software Engineering Notes, Vol.18, No.1, pp.3548(1993). 2015/10/01 修士論文発表会 4 本研究の目的 実験計画の作成と遂行 動的メトリクスと静的メトリクスの関係 動的メトリクスが以下の品質特性を評価可能 であるか 保守性 理解容易性 再利用性 エラーの伝播と発生可能性 2015/10/01 修士論文発表会 5 静的メトリクス:CBO CBO(Coupling Between Object classes) クラス間の結合による複雑度[3] 計測対象クラスが「結合」しているクラスの数 結合とは,計測対象クラスが他のクラスの属性 やメソッドを用いていることを意味する 設計書やソースコードから収集される情報のみ で計測 [3] Chidamber S. R. and Kemerer C. F.: ``A Metrics Suite for Object Oriented Design'', IEEE Trans. on Software Eng., Vol. 20, No. 6, pp. 476-493 (1994). 2015/10/01 修士論文発表会 6 動的メトリクス(1/2) EOC(Export Object Coupling) 入力データxを与えたときの実行中にオブジェクト間 で交換されるメッセージの総数のうちOiからOjに送 信されるメッセージの割合 | {Mx (oi, oj ) | oi, oj O oi oj} | EOCx (oi, oj ) 100 MTx 2015/10/01 修士論文発表会 7 動的メトリクス(2/2) OQFS(Object Request for Service) 入力データxを与えたときの実行中にオブジェクト間で交 換されるメッセージの総数のうちOiから他の全てのオブ ジェクトに送信されるメッセージの割合 K OQFSx(oi ) EOCx(oi, oj ) j 1 入力データの発生確率との積をとりその総和をとる |X | OQFS(oi ) PSx OQFSx(oi ) x 1 2015/10/01 修士論文発表会 8 品質特性評価への利用 動的メトリクスがソフトウェアの品質特性を 評価するのに有効であると予想している 保守性 理解容易性 再利用性 エラーの伝播と発生可能性 2015/10/01 修士論文発表会 9 実験計画(1/2) 動的メトリクスと静的メトリクスの関係 OQFS vs CBO MM[4] ICP[5] [4]Briand L. C., Devanbu P. and Melo W. L.,: `` An Investigation into Coupling Measures for C++,'' Proceedings of the 19th International Conference on Software Engineering(ICSE97), Boston, pp. 412-421(1997). [5]Lee, Y., Liang B. and Wu S.: ``Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow,'' Proceedings of International Conference on Software Qualiy, Maribor, Slovenia (1995). 2015/10/01 修士論文発表会 10 実験計画(2/2) 保守性,理解容易性 コンポーネントを作成する際に,発生したエラーを修 正するのに要した時間 再利用性 同一仕様を基に作成された複数のクラスを交換し,動 作の可否 エラーの伝播と発生可能性 あるコンポーネントにエラーが存在し,調査した結果, 他のコンポーネントが原因 →コンポーネントを作成する際に,発生したエラー数 2015/10/01 修士論文発表会 11 評価実験ー概要 実験の実施: 2000年7月に行われたある企業の新人研修にお けるJavaプログラム開発プロジェクト(オークション システムの作成) 被験者 (研修生)は事前に, オブジェクト指向開発につい て講習を受けている 1チームは4~5名の研修生からなり, 7チームが独立して 同じシステムの開発を行う 各チームのメンバーがオークションシステムを構築する 上で必要なコンポーネントを作成する(29種類) 2015/10/01 修士論文発表会 12 収集データ ソースコード メトリクス値を計測するためのデータ 1時間ごとにソースコードを自動的に収集 エラーデータ 設計レビュー,コードレビュー,テストにおいて発見さ れたエラーと各エラーの修正に要した時間に関する データ 記入フォームに被験者が記入する 154個のクラスから収集されたエラーデータの総 数は, 80個である 2015/10/01 修士論文発表会 13 評価方法 動的メトリクスと静的メトリクス間の関係 OQFS vs CBO 実験により作成された複数のクラスに対して,動的メ トリクス(OQFS)と静的メトリクス(CBO)を計測し,それ らの間の相関関係の評価 品質特性の評価 保守性,理解容易性,エラーの伝播と発生可能性 各クラスで発生したエラー数,修正時間と動的メトリク ス(OQFS)の間の関係を調べる 2015/10/01 修士論文発表会 14 使用した入力データ ユーザ10人:A~J A:会員登録→B:会員登録→A:出品→ C:会員登録→B:出品→ C:入札… 30個の入力データを用意した 入力データの発生確率は各3.3% 2015/10/01 修士論文発表会 15 計測結果 クラス メトリクス 動的 48.9 35.9 0.1 ・ ・ AuctionClient AuctionManagerImpl AuctionServer ・ ・ 最大値 動的 静的 2015/10/01 67.4 13 静的 10 13 1 ・ ・ 最小値 0 平均値 0 3.0 修士論文発表会 4.5 16 動的及び静的メトリクスの相関 両メトリクス間の相関係数=0.73 あまり強く相関していない 両メトリクスは異なった複雑度を評価し ている(Yacoubらの予想を補完) 動的メトリクスと静的メトリクスはどちらがよ りよくソフトウェアの複雑度を評価している かの検証が必要 2015/10/01 修士論文発表会 17 品質特性の評価 エラー数 エラー修正時間 動的 0.60 0.57 静的 0.56 0.43 有意水準 1% 保守性,理解容易性,エラーの伝播と発生 可能性に関しては,動的メトリクスのほうが より良い評価を与える 2015/10/01 修士論文発表会 18 メトリクスの利用方法 14 12 10 静的 8 6 A 4 B 2 0 0.00 20.00 40.00 60.00 80.00 動的 動的メトリクスを使用することで,静的に複雑なク ラスから更に複雑なクラスを判別可能 Bの方がより注意が必要 B>A(修正時間が約2.5倍) 2015/10/01 修士論文発表会 19 まとめ Yacoubらの提案したオブジェクト指向ソフトウェア に対する動的複雑度メトリクスの有効性について の実験計画をし,評価を行った Chidamberらの静的メトリクスとの間の相関関係 はあまり高くなく,静的な複雑さとは異なる観点 の複雑さを評価していることを確認 今後の課題として,同様の実験を他のコンテキス トにおいて行う 2015/10/01 修士論文発表会 20
© Copyright 2025 ExpyDoc