• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2014 Fiscal Year Research-status Report

トピック抽出を用いたコードクローン検出手法

Research Project

Project/Area Number 26730036
Research InstitutionNagoya University

Principal Investigator

吉田 則裕  名古屋大学, 情報科学研究科, 准教授 (00582545)

Project Period (FY) 2014-04-01 – 2017-03-31
Keywordsコードクローン
Outline of Annual Research Achievements

本研究で提案するツールである「トピック抽出を用いたコードクローン検出ツール」の実装を行った.本ツールを実装するために,まずソースコードに含まれるトピック(対象と関連の強い単語のリスト)を抽出する機能を,自然言語処理で用いられている文章中からトピックを自動的に特定する手法を用いて実装した.次に,トピックを特定した結果を用いて,コード片間の等価性を判定する機能を実装した.高速に等価性を判定するために,コード片に含まれるトピックを特徴ベクトルで表現し,ハッシュ関数に基づくクラスタリング手法を用いた.ソースコードに含まれるトピックの抽出では,各ソースファイルに含まれる語(基本的には識別子名.ただし,複数の語からなる識別子名は各語に分割)を抽出し,トピック(ソースファイルと関連の強い単語のリスト)の特定を行った.コード片間の等価性を判定するため,構文木中の部分木に対して特徴ベクトルを付加した.特徴ベクトルは,部分木に含まれるトピックの分布を表す.次に,特徴ベクトル間の距離に基づいて部分木のクラスタリングを行った.最後に,同一クラスタに属した部分木に対応するコード片を等価なコード片として提示した.各部分木をベクトルで表現する利点は, 部分木間の距離を求める問題をベクトル間の距離を求める問題に変換することで,計算量を低下させることができることである.特徴ベクトルの数が膨大になると,クラスタリングにかかる計算時間が大きくなると考えられるため,LSH (Locality Sensitive Hashing)というハッシュ関数を用いたクラスタリングを行った.LSHは,「類似したベクトルは高い可能性で同じハッシュ値になり,異なるベクトルは高い可能性で異なるハッシュ値になる」という性質を持つハッシュ関数である.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

本研究で提案するツールである「トピック抽出を用いたコードクローン検出ツール」の実装について,概ね順調に行うことができた.ツールを実装するための情報収集についても,国内研究会への参加を通してある程度行うことができた.ただし,海外の大学に在籍する研究者からの情報収集については,学内業務の都合で国際会議に参加できなかったため,不安が残る.

Strategy for Future Research Activity

これまで,ツールを実装するための情報収集については,国内研究会への参加を通してある程度行うことができた.ただし,海外の大学に在籍する研究者からの情報収集については,学内業務の都合で国際会議に参加できなかったため,情報収集や専門家との議論の深さについて不安が残っている.これを解決するために,来年度は専門家の所属大学を訪問する,もしくは専門家が集まる国際会議への参加を通して,十分な議論および情報収集の時間を確保したい.

Causes of Carryover

国際会議への参加を通して専門家と議論することにより実装方法に関する情報収集を行う予定であったが,学内業務の都合で実施できなかった.そのため,国際会議参加に必要な旅費および登録費が残った.

Expenditure Plan for Carryover Budget

海外の専門家が在籍する大学へ訪問,もしくは専門家が集まる国際会議への参加を通して情報収集を行う.これらを実施するための旅費および国際会議への登録費として使用する.

  • Research Products

    (13 results)

All 2015 2014

All Journal Article (5 results) (of which Peer Reviewed: 5 results,  Open Access: 5 results,  Acknowledgement Compliant: 5 results) Presentation (8 results)

  • [Journal Article] 機械学習を用いたメソッド抽出リファクタリングの推薦手法2015

    • Author(s)
      後藤 祥, 吉田 則裕, 藤原 賢二, 崔 恩瀞, 井上 克郎
    • Journal Title

      情報処理学会論文誌

      Volume: 56 Pages: 627~636

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Journal Article] Chromiumプロジェクトにおけるレビュー・パッチ開発経験がレビューに要する時間に与える影響の分析2015

    • Author(s)
      戸田 航史, 亀井 靖高, 濱崎 一樹, 吉田 則裕
    • Journal Title

      コンピュータソフトウェア

      Volume: 32 Pages: 227~234

    • DOI

      http://dx.doi.org/10.11309/jssst.32.1_227

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Journal Article] 変更履歴解析に基づくリファクタリング検出技術の調査2015

    • Author(s)
      崔 恩瀞, 藤原 賢二, 吉田 則裕, 林 晋平
    • Journal Title

      コンピュータソフトウェア

      Volume: 32 Pages: 47~59

    • DOI

      http://dx.doi.org/10.11309/jssst.32.1_47

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Journal Article] メソッド抽出リファクタリングが行われるメソッドの特徴調査2014

    • Author(s)
      後藤 祥, 吉田 則裕, 藤原 賢二, 崔 恩瀞, 井上 克郎
    • Journal Title

      コンピュータソフトウェア

      Volume: 31 Pages: 318~324

    • DOI

      http://dx.doi.org/10.11309/jssst.31.3_318

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Journal Article] 情報検索技術に基づく高速な関数クローン検出2014

    • Author(s)
      山中 裕樹, 崔 恩瀞, 吉田 則裕, 井上 克郎
    • Journal Title

      情報処理学会論文誌

      Volume: 55 Pages: 2245~2255

    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Presentation] Pull Request 駆動型の開発を支援するツールの検討2015

    • Author(s)
      齋藤 雄輔, 藤原 賢二, 井垣 宏, 吉田 則裕, 飯田 元
    • Organizer
      電子情報通信学会 ソフトウェアサイエンス研究会
    • Place of Presentation
      鳥取県東伯郡三朝町
    • Year and Date
      2015-01-26 – 2015-01-26
  • [Presentation] 初学者向けプログラミング演習における探索的プログラミングの実態調査と支援手法の提案2014

    • Author(s)
      槇原 絵里奈, 井垣 宏, 藤原 賢二, 上村 恭平, 吉田 則裕, 飯田 元
    • Organizer
      日本ソフトウェア科学会 第21回ソフトウェア工学の基礎ワークショップ
    • Place of Presentation
      鹿児島県霧島市
    • Year and Date
      2014-12-11 – 2014-12-13
  • [Presentation] Supporting Clone Analysis with Tag Cloud Visualization2014

    • Author(s)
      Manamu Sano, Eunjong Choi, Norihiro Yoshida, Yuki Yamanaka, Katsuro Inoue
    • Organizer
      International Workshop on Innovative Software Development Methodologies and Practices
    • Place of Presentation
      香港(中華人民共和国)
    • Year and Date
      2014-11-16 – 2014-11-16
  • [Presentation] 開発履歴分析を用いたコードクローン内外における欠陥発生率の調査2014

    • Author(s)
      中山 直輝, 吉田 則裕, 藤原 賢二, 飯田 元
    • Organizer
      情報処理学会 第186回ソフトウェア工学研究発表会
    • Place of Presentation
      大阪府吹田市
    • Year and Date
      2014-11-13 – 2014-11-14
  • [Presentation] コードクローン編集者数に着目した開発履歴の分析2014

    • Author(s)
      辻 健二, 崔 恩瀞, 吉田 則裕, 春名 修介, 井上 克郎
    • Organizer
      情報処理学会 第186回ソフトウェア工学研究発表会
    • Place of Presentation
      大阪府吹田市
    • Year and Date
      2014-11-13 – 2014-11-14
  • [Presentation] What Kinds of Refactorings are Co-occurred? An Analysis of Eclipse Usage Datasets2014

    • Author(s)
      Tsubasa Saika, Eunjong Choi, Norihiro Yoshida, Akira Goto, Shusuke Haruna, Katsuro Inoue
    • Organizer
      4th International Workshop on Empirical Software Engineering in Practice
    • Place of Presentation
      大阪府吹田市
    • Year and Date
      2014-11-12 – 2014-11-13
  • [Presentation] 日本とタイにおけるプログラミング初学者のプログラミング行動の比較2014

    • Author(s)
      槇原 絵里奈, 藤原 賢二, Putchong Uthayopas, Chantana Chantrapornchai, Jittat Fakcharoenphol, 井垣 宏, 吉田 則裕, 飯田 元
    • Organizer
      電子情報通信学会 教育工学研究会
    • Place of Presentation
      石川県金沢市
    • Year and Date
      2014-10-18 – 2014-10-18
  • [Presentation] 識別子名のタグクラウドを用いたコードクローン理解支援ツールの開発2014

    • Author(s)
      佐野 真夢, 崔 恩瀞, 山中 裕樹, 吉田 則裕, 井上 克郎
    • Organizer
      情報処理学会 第184回ソフトウェア工学研究発表会
    • Place of Presentation
      茨城県ひたちなか市
    • Year and Date
      2014-05-19 – 2014-05-20

URL: 

Published: 2016-06-01  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi