ファイル編集履歴に基づいたデザインパターン適用事例の定量的分析

浦田 大地 (1251020)


デザインパターンは,ソフトウェア開発において頻出する設計上の問題への解決策をまとめたものである. デザインパターンを適用することでソフトウェアの保守作業を効率化できるとされているが,定量的根拠に基づいてはいない. そこで,デザインパターンの適用事例を分析することで,その効果を確認する試みがなされている. 既存の手法として,デザインパターンに関連するクラスと関連しないクラスとの欠陥率を比較するものがある. このような手法は大規模な対象を分析でき,結果に一般性が期待できる反面,保守作業そのものの効率を議論しにくい. 他の手法として,被験者によるプログラム修正の対照実験により,デザインパターンの適用効果を比較するものがある. このような手法は,保守作業の効率を直接議論できる反面,結果の一般性に乏しい. 本研究では,大規模ソフトウェアにも適用可能な定量化手段にもとづいて保守作業を分析することで,デザインパターンの効果の有無を評価する手法を提案する. 保守作業を定量的に分析する手法として,Mylynという開発者の統合開発環境におけるファイル編集履歴(プログラムファイルの選択や内容の変更)をログとして記録するツールを用いる手法がある. その記録された膨大なログから導出されるメトリクスを分析することで,大規模な対象の分析が可能となる. 提案手法では,このメトリクスの値を,デザインパターンに関連するファイルと関連しないファイルとで比較する. 本論文では,提案手法を3つのオープンソースソフトウェアプロジェクトに適用した事例をケーススタディとして紹介する. ケーススタディの結果,デザインパターンの適用事例では保守効率が低下していることを確認した.