大規模レガシーソフトウェアを対象とするコードクローンの定量的分析

中江 大海 (9951078)


多くの企業は,レガシーソフトウェア(遺産的ソフトウェア)を持っている.レ ガシーソフトウェアとは,10〜20年以上前に開発され,今日に至るまで保守を繰 り返しながら動作し続けているソフトウェアのことである.レガシーソフトウェ アは,長年の保守の結果,コードクローンと呼ばれるコピー&ペースト等により 生じる重複したコード片を多く含むようになるため,一般に信頼性や保守性が低 下していると考えられている.しかし,コードクローンとソフトウェアの性質との関係 は定量的にはほとんど明らかにされていない.そこで本研究では,ある大規模な レガシーソフトウェアを題材として,コードクローンとソフトウェアの諸性質と の関係について定量的に分析を行った.分析の結果,新しいモジュールほどコー ドクローンを多く含むこと,コードクローンの半数以上は年齢差が30日以内のモ ジュール間で発生していること,コードクローンを含むモジュールは保守性が低 いこと,長いコードクローンを含むモジュールでなおかつモジュール内で閉じて いるコードクローンとモジュール間にまたがるコードクローンとを併せ持つモジ ュールは信頼性が低いこと等がわかった.