システム内に散在するコードクローンに着目したソフトウェア保守性向上の試み

福島 義彦 (0851099)


ソフトウェアの保守性を低下させる主要な要因の一つとして,ソースコード中に含まれる重複したコード(以下,コードクローン)の存在が指摘されている.そして,これまでに大規模なソフトウェアからコードクローンを自動的に検出する手法が提案されている.しかし,全てのコードクローンが保守性を低下させているわけではないので,膨大な量のコードクローンの中から,保守性向上のため対処すべきコードクローンを発見することは容易ではない.そこで,本発表では,コードクローンが存在するファイルに着目することで,優先的に対処すべきコードクローンの発見を支援するための可視化手法とメトリクスを提案する.本手法を利用することで,システム内に横断的に存在するコードクローンを発見することが可能になる.

本発表では,提案手法を4つのオープンソースソフトウェアに適用し,実際にコードクローン情報の可視化を行った.その結果,本提案手法により保守性に悪影響を与えている可能性のあるコードクローンを特定できることを確認した.