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