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

2016 Fiscal Year Research-status Report

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

Research Project

Project/Area Number 16K16034
Research InstitutionNagoya University

Principal Investigator

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

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

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

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

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

Strategy for Future Research Activity

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

Causes of Carryover

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

Expenditure Plan for Carryover Budget

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

  • Research Products

    (7 results)

All 2017 2016

All Presentation (7 results) (of which Int'l Joint Research: 4 results)

  • [Presentation] Revisiting the Relationship Between Code Smells and Refactoring2017

    • Author(s)
      Norihiro Yoshida, Tsubasa Saika, Eunjong Choi, Ali Ouni, Katsuro Inoue
    • Organizer
      The 24th IEEE International Conference on Program Comprehension (ICPC 2016),
    • Place of Presentation
      Austin (USA)
    • Year and Date
      2017-05-16 – 2017-05-17
    • Int'l Joint Research
  • [Presentation] プロセスメトリクスを用いたメソッド抽出事例の調査と予測モデルの構築2017

    • Author(s)
      田中 大樹, 崔 恩瀞, 吉田 則裕, 藤原 賢二, 飯田 元
    • Organizer
      電子情報通信学会 2017年3月ソフトウェアサイエンス研究会
    • Place of Presentation
      てんぷす那覇(沖縄県・那覇市)
    • Year and Date
      2017-03-09 – 2017-03-10
  • [Presentation] Frame-Based Behavior Preservation in Refactoring2017

    • Author(s)
      Katsuhisa Maruyama, Shinpei Hayashi, Norihiro Yoshida, Eunjong Choi
    • Organizer
      The 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2017)
    • Place of Presentation
      Klagenfurt (Austria)
    • Year and Date
      2017-02-21 – 2017-02-24
    • Int'l Joint Research
  • [Presentation] When, why and for whom do practitioners detect technical debts?: An experience report2016

    • Author(s)
      Norihiro Yoshida
    • Organizer
      The 1st International Workshop on Technical Debt Analytics
    • Place of Presentation
      Hamilton (New Zealand)
    • Year and Date
      2016-12-06
    • Int'l Joint Research
  • [Presentation] Graph-Based Approach for Detecting Impure Refactoring from Version Commits2016

    • Author(s)
      Shogo Tsutsumi, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue
    • Organizer
      The 1st International Workshop on Software Refactoring (IWoR 2016)
    • Place of Presentation
      Singapore (Singapore)
    • Year and Date
      2016-09-04
    • Int'l Joint Research
  • [Presentation] プロセスメトリクスを用いたメソッド抽出事例の特徴調査2016

    • Author(s)
      田中 大樹, 吉田 則裕, 藤原 賢二, 崔 恩瀞, 飯田 元
    • Organizer
      ソフトウェアエンジニアリングシンポジウム2016
    • Place of Presentation
      東洋大学(東京都・文京区)
    • Year and Date
      2016-08-31 – 2016-09-02
  • [Presentation] 探索的手法によるimpureリファクタリング検出2016

    • Author(s)
      堤 祥吾, 吉田 則裕, 崔 恩瀞, 井上 克郎
    • Organizer
      情報処理学会 第193回ソフトウェア工学研究発表会
    • Place of Presentation
      北海道立道民活動センター(北海道・札幌市)
    • Year and Date
      2016-07-13 – 2016-07-15

URL: 

Published: 2018-01-16  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi