複雑度メトリクスを用いた JAVAプログラム品質特性の実験的評価 井上研究室 岡井 洋樹 動的複雑度メトリクス ソフトウェアの動的複雑度(実行時のソフトウェアの振舞い) の重要性が指摘されている Yacoubらによるオブジェクト指向ソフトウェアに対する動的な 複雑度メトリクス[1] 特定の入力データに対する評価 クラス間メッセージの送受信回数 状態遷移の複雑さ 提案のみがされており有効性についての評価が不十分 [1]Yacoub S., Ammar H. and Robinson T.: ``Dynamic Metrics for Object Oriented Designs'', Proc. of the Sixth International Symposium on Software Metrics 2015/10/01 特別研究報告 1 研究の目的 動的メトリクスの有効性評価 動的メトリクスと静的メトリクスの関係 動的メトリクスがクラスの再利用性を評価可能 であるか 2015/10/01 特別研究報告 2 静的メトリクス:MM,ICP MM(Method-Method Interaction) [2] 他のクラスのメソッドを計測対象クラスが呼び出す回数を, 計測対象クラスごとに合計したもの ICP(Information Flow-based Coupling) [3] 他のクラスのメソッドを計測対象クラスが呼び出す回数 に引数の重みを加えたものを,計測対象クラスごとに合計 したもの [2] Briand,L,P.Devandu,and W.Melo,”An Investigation into Coupling Measures for C++, ” Proc. Of the 19th International Conference on Software Engineering [3]Lee,Y.,B.Liang,and S.Wu,”Measuring the Coupling and Cohesion of an ObjectOriented Program Based on Information Flow,”Proc.of international Conference on Software Quality 2015/10/01 特別研究報告 3 動的メトリクス(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 特別研究報告 4 動的メトリクス(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 特別研究報告 5 評価実験ー概要 実験の実施: 2000年7月に行われたある企業の新人研修にお けるJavaプログラム開発プロジェクト(オークショ ンシステムの作成) 1チームは4~5名の研修生からなり, 7チームが独立し て同じシステムの開発を行う 各チームのメンバーがオークションシステムを構築する 上で必要なコンポーネントを作成する (22種類) 154個のデータから収集した 2015/10/01 特別研究報告 6 評価方法 動的メトリクスと静的メトリクス間の関係 OQFS vs. MM,ICP 実験により作成された複数のクラスに対して,動的メト リクス(OQFS)と静的メトリクス(MM,ICP)を計測し,そ れらの間の相関関係の評価 再利用性の評価 同一仕様を基に作成された複数のクラスを交換し,動 作の可否 2015/10/01 特別研究報告 7 入力データの作成と実行 ユーザ10人:A~J A:会員登録→B:会員登録→A:出品→ C:会員登録→B:出品→ C:入札… 30個の入力データを用意した システム中の全てのクラスを使用するように入力デー タを作成 入力データの発生確率は各3.3% WSH(Windows Scripting Host)を使用し,自動実 行をした 2015/10/01 特別研究報告 8 動的及び静的メトリクスの相関 OQFSとMMの相関係数=0.79 OQFSとICPの相関係数=0.75 両メトリクスは異なった複雑度を評価し ている(Yacoubらの予想を補完) 2015/10/01 特別研究報告 9 再利用性の評価(1/2) 計測した154のクラスの中でOQFS値の上位 5つ下位5つを抜き出し,他のシステムの同ク ラスと入れ替え,動作確認を行う 1 2 3 ・・・ 7 C1 C1 C1 C1 ・・・ C22 2015/10/01 C22 C22 特別研究報告 C22 10 再利用性の評価(2/2) 動的メトリクス値が大きいものは、再利用性が 低い事が確認された。 100 成功率 (%) 50 0 下位5つ 上位5つ Compile 97 53 Test 97 20 下位5つ 上位5つ 実験 2015/10/01 特別研究報告 11 まとめ 動的メトリクスと静的メトリクスとの間の相関関係 はあまり高くなく,静的な複雑さとは異なる観点 の複雑さを評価していることを確認 再利用性については、動的メトリクスを用いる事 で再利用性が高いクラスと低いクラスの識別が 可能 今後の課題として,同様の実験を他の条件のも とにおいて行う 2015/10/01 特別研究報告 12 2015/10/01 特別研究報告 13
© Copyright 2024 ExpyDoc