楠本研究室

業績一覧

ホーム業績一覧

クラス階層内のコードクローン間距離を評価するメトリクスDCHの改良

クラス階層内のコードクローン間距離を評価するメトリクスDCHの改良
卒業論文, 大阪大学
概要: ソフトウェアの保守作業を困難にする要因の1つとしてコードクローンが指摘されている.コードクローンとは,ソースコード中に同一,または類似したコード片を持つコード片のことであり,「重複コード」とも呼ばれている.もし,あるコードクローンにバグが見つかった場合,そのコードクローンすべてに同じ修正を行うかどうかを確認する必要がある.  コードクローンに対する集約を支援するためのメトリクスの1つとしてDCHがある.DCHはクラス階層内におけるコードクローン間距離を評価する.例えば,対象コードクローンが1つのクラス内に存在する場合はそのクラス内で集約することができ,共通する親クラスを持つ複数の子クラス内に存在する場合はその共通の親クラスに引き上げることによって集約を行える.しかし,それ以外の場合は,コードクローンを集約することは難しい.  本研究では,メトリクスDCHの改良を行う.従来のDCHは,1つのクローンセット(コードクローンの同値類)全体から計測されるため,クローンセットの一部のコード片のみが離れて存在する場合と,全てのコード片がクラス階層のさまざまな位置に散らばっている場合の区別がつかない.後者は集約を行うことが難しいが,前者については離れた位置に存在しているコード片以外は容易に集約することができる.本手法で改良したDCHを用いれば前者と後者の区別を簡単に行うことができる.また,改良したDCHを計測するツールを試作し,オープンソースソフトウェアに対して実験を行った.実験の結果,実際のソースコードから従来のDCHよりも多くの集約可能なコードクローンを検出できることを確認した. タグ: improving, metric, dch, which, evaluetes, dispersion, code, clones, class, hierarchy, more, efficient, refactorings
@mastersthesis{佐野由希子2008,
  author = {佐野 由希子},
  title = {クラス階層内のコードクローン間距離を評価するメトリクスDCHの改良},
  school = {大阪大学},
  type = {Bachelor's Thesis},
  year = {2008}
}