• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2003 年度 実績報告書

コードクローン情報に基づくソフトウェア保守支援に関する研究

研究課題

研究課題/領域番号 15700031
研究機関大阪大学

研究代表者

楠本 真二  大阪大学, 大学院・情報科学研究科, 助教授 (30234438)

キーワードコードクローン / メトリクス / Javaプログラム / 集約
研究概要

本研究では,ソフトウェア中に含まれるコードクローン(類似したコード片の集合)を効率よく検出,除去する手法について堤案し,堤案手法に基づく支援ツールを開発した.提案手法は,Javaプログラムを対象とした.先ず,既に我々が開発してきている,高速なコードクローン検出ツールCCFinderを用いることによりトークン単位のコードクローンを検出する.しかし,トークン単位のコードクローンを一つの関数やモジュール等に集約することは無理があるため,そのコードクローンをプログラミング言語の構文規則に基づいて,集約が可能な単位に調整する.Javaプログラムの場合では,構造的なまとまりをもったブロック(宣言・メソッド,文等)がその単位となる.そして,調整したコードクローンに対して幾つかの特徴を計測するためのメトリクスを適用し,どのような集約が可能であるかを開発者に提示する.集約の手法は,メソッドの抽出(ソースコードのある一部分を新たなメソッドとして再定義すること)とメソッドの引き上げ(ある親子クラス関係が存在した場合に,子クラスに存在するメソッドを親クラスに引き上げること)の2種類を対象とした.更に,提案手法に基づいてJavaプログラム中のコードクローンの集約を支援するツールを開発した.最後に,開発した支援ツールを幾つかのオープンソースソフトウェア,研究室で開発している各種ツールに適用した.オープンソースソフトウェアとして有名なAnt(サイズは約18万行)に対して適用した結果では,15種類のコードクローンが抽出され,その中の12種類に対して効率よく集約を行うことができた.実際のソフトウェア会社で開発しているソフトウェアに対して開発したツールを適用し,提案手法の有用性の評価を行うことが今後の課題である.

  • 研究成果

    (4件)

すべて その他

すべて 文献書誌 (4件)

  • [文献書誌] 肥後芳樹: "類似コード片を利用したリファクタリングの試み"情報処理学会研究報告(2003-SE-143). Vol.2003,No.73. 29-36 (2003)

  • [文献書誌] Yoshiki Higo: "On Refectoring for Open Source Java Program"ACOSM 2003 Proceedings : Austrian Conference on Software Measurement. Volume 2. 247-251 (2003)

  • [文献書誌] 植田泰士: "開発保守支援を目指したコードクローン分析環境"電子情報通信学会論文誌D-I. Vol.86-D-I, No.12. 863-871 (2003)

  • [文献書誌] 泉田聡介: "ソフトウェア保守のための類似コード検索ツール"電子情報通信学会論文誌D-I. Vol.86-D-I, No.12. 906-908 (2003)

URL: 

公開日: 2005-04-18   更新日: 2016-04-21  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi