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

2016 年度 実施状況報告書

コードクローンの変化に対応するリファクタリング支援環境の構築

研究課題

研究課題/領域番号 16K16034
研究機関名古屋大学

研究代表者

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

研究期間 (年度) 2016-04-01 – 2018-03-31
キーワードコードクローン
研究実績の概要

本研究で提案する「開発者の作業内容をモニタリング・分析し,その結果に基づいてコードクローンのリファクタリングを支援する環境」の仕様策定を行った.本環境は,まず統合開発環境上で編集中のソースコードからコードクローンを検出しリファクタリング候補として提示する.次に,開発者が行うリファクタリング作業を検知し,作業対象のコード片のコードクローンに対して,同種のリファクタリングを推薦する.
本環境における即時コードクローン検出プラグインは,統合開発環境上でソースコードが変更されたことを検知し,コードクローンを検出する.編集が行われるたびにソースコード全体からコードクローンを検出していたのでは時間がかかりすぎるため,変更部分に関連するコードクローンのみをインクリメンタルに検出する.
本環境におけるコードクローンを対象としたプロアクティブ型リファクタリング支援プラグインは,統合開発環境上でリファクタリングが開始されたことを検知し,リファクタリング対象のコード片にコードクローンが存在したら,そのコードクローンに対しても同種のリファクタリングを行うように促す.
ソースコードからコードクローンを自動検出する手法は既に数多く提案されてきており,コードクローン研究者の関心は,検出したコードクローンの活用方法に移りつつある.しかし,開発者の作業内容に応じて活用支援を行う研究は少なく,リリース版のソースコードを対象としてコードクローン検出を行い,そのフィルタリングの精度向上を目的としたものが多い.版管理システムとの連携を行う手法はいくつか存在するが,本研究のように作業内容を分析することで作業内容に応じた支援を行う研究は,コードクローンに関する研究において研究代表者が知る限り存在しない.

現在までの達成度 (区分)
現在までの達成度 (区分)

3: やや遅れている

理由

開発する環境の仕様策定を行うことができたものの,環境の実装に必要な情報が想定より多かったため,実装が遅れている.

今後の研究の推進方策

効率的な実装を行うために,コードクローン管理機能を有するEclipseプラグインを収集し,それらのソースコードを参考に実装を行う.

次年度使用額が生じた理由

開発する環境の仕様策定を行うことができたものの,環境の実装に必要な情報が想定より多かったため,実装が遅れている.そのため,今年度は実装に必要なソフトウェア等の消耗品を購入する必要がなくなり,購入しなかった.

次年度使用額の使用計画

次年度は今年度完了することができなかった実装を完了させるため,開発に必要なソフトウェア等消耗品を購入する.

  • 研究成果

    (7件)

すべて 2017 2016

すべて 学会発表 (7件) (うち国際学会 4件)

  • [学会発表] Revisiting the Relationship Between Code Smells and Refactoring2017

    • 著者名/発表者名
      Norihiro Yoshida, Tsubasa Saika, Eunjong Choi, Ali Ouni, Katsuro Inoue
    • 学会等名
      The 24th IEEE International Conference on Program Comprehension (ICPC 2016),
    • 発表場所
      Austin (USA)
    • 年月日
      2017-05-16 – 2017-05-17
    • 国際学会
  • [学会発表] プロセスメトリクスを用いたメソッド抽出事例の調査と予測モデルの構築2017

    • 著者名/発表者名
      田中 大樹, 崔 恩瀞, 吉田 則裕, 藤原 賢二, 飯田 元
    • 学会等名
      電子情報通信学会 2017年3月ソフトウェアサイエンス研究会
    • 発表場所
      てんぷす那覇(沖縄県・那覇市)
    • 年月日
      2017-03-09 – 2017-03-10
  • [学会発表] Frame-Based Behavior Preservation in Refactoring2017

    • 著者名/発表者名
      Katsuhisa Maruyama, Shinpei Hayashi, Norihiro Yoshida, Eunjong Choi
    • 学会等名
      The 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2017)
    • 発表場所
      Klagenfurt (Austria)
    • 年月日
      2017-02-21 – 2017-02-24
    • 国際学会
  • [学会発表] When, why and for whom do practitioners detect technical debts?: An experience report2016

    • 著者名/発表者名
      Norihiro Yoshida
    • 学会等名
      The 1st International Workshop on Technical Debt Analytics
    • 発表場所
      Hamilton (New Zealand)
    • 年月日
      2016-12-06
    • 国際学会
  • [学会発表] Graph-Based Approach for Detecting Impure Refactoring from Version Commits2016

    • 著者名/発表者名
      Shogo Tsutsumi, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue
    • 学会等名
      The 1st International Workshop on Software Refactoring (IWoR 2016)
    • 発表場所
      Singapore (Singapore)
    • 年月日
      2016-09-04
    • 国際学会
  • [学会発表] プロセスメトリクスを用いたメソッド抽出事例の特徴調査2016

    • 著者名/発表者名
      田中 大樹, 吉田 則裕, 藤原 賢二, 崔 恩瀞, 飯田 元
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2016
    • 発表場所
      東洋大学(東京都・文京区)
    • 年月日
      2016-08-31 – 2016-09-02
  • [学会発表] 探索的手法によるimpureリファクタリング検出2016

    • 著者名/発表者名
      堤 祥吾, 吉田 則裕, 崔 恩瀞, 井上 克郎
    • 学会等名
      情報処理学会 第193回ソフトウェア工学研究発表会
    • 発表場所
      北海道立道民活動センター(北海道・札幌市)
    • 年月日
      2016-07-13 – 2016-07-15

URL: 

公開日: 2018-01-16  

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

Powered by NII kakenhi