ソフトウェア資源の機能整理を目的とした類似関数集合の検出
修士論文, 大阪大学
概要: 近年ソフトウェア開発は大規模化の一途をたどっており,開発コスト削減のため,既存の
資源を有効に活用することが望まれる.しかし,再利用を行うためにはソースコードの内容を理解しなければならず,特に,再利用を考慮して作成されていない資源の場合,その労力は大きい.ソフトウェア分析手法としてコードクローン(ソースコード中の類似したまたは同一のコード片の集合)検出が注目を集めている.既存のソフトウェアにはこのコードクローンが多数存在し,同様の処理を行う関数が散在している.本研究では,これまでに実装された機能を効率的に把握・再利用するため,コードクローン検出技術を用いて,大量のソースコードから同様の機能を実現した関数集合群の検出を試みる.しかし,既存のクローン検出ツールには対象にできるソースコード量の制限,関数単位のクローン検出機能が無いなどの問題があり,ツールをそのまま適用するだけでは,大量のソースコードから類似関数群を得ることはできない.この問題を解決するために,対象ソースコードを分割し,分割した単位ごとに関数クローンの検出を行い,その後に検出結果を1 つにまとめる.本手法をオープンソースソフトウェア群に対して適用した実験の結果,数千万行のソースコードからどのような関数が多数利用されているのか容易に調査することができた.さらに,クローン数や存在箇所を調べることにより,ソースファイル単位のクローンの発見やクローンの特徴別の分類をすることができた.
タグ: ccfinder, clone, clones, detction
@mastersthesis{田中健介2010,
author = {田中 健介},
title = {ソフトウェア資源の機能整理を目的とした類似関数集合の検出},
school = {大阪大学},
year = {2010}
}