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

2019 Fiscal Year Research-status Report

探索と対話の融合による半自動リファクタリング環境の確立

Research Project

Project/Area Number 18K11238
Research InstitutionTokyo Institute of Technology

Principal Investigator

林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)

Project Period (FY) 2018-04-01 – 2021-03-31
Keywordsリファクタリング / ソフトウェア自動進化 / 探索ベースソフトウェア工学 / 対話型システム / 不吉な臭い
Outline of Annual Research Achievements

本研究は,より現実的な自動リファクタリングの実現に向けて,探索処理の向上,対話的な制御,および対話的制御のためのリファクタリング結果の効率的なレビュー方法の確立を目指すものである.令和元年度では,主に以下の成果を得た.(1)前年度に引き続き自動リファクタリングに用いる探索手法の検討を行った.複数のヒューリステック探索アプローチを適用したリファクタリング探索器のプロトタイプ実装を進め,手法の得失を比較した.(2)特定のメソッド内で行われた変更において行われたローカルリファクタリングを探索により検出する手法を提案し,本研究で開発した自動探索ツールのプロトタイプを応用して実現した.また,オープンソースソフトウェアの変更履歴から特定したローカルリファクタリングの検出が可能であったことを確認した.(3)リファクタリングを含むソースコード変更パターンを版管理履歴から抽出し,自動的にそれらを適用すべき箇所を特定するツールを開発し,その有用性を評価した.(4)複数のリファクタリング適用が混在したような変更を効率よく理解するため,行われた変更間の依存関係を考慮しながら変更の粒度を調整するための環境のプロトタイプを開発し,その評価を行った.(5)適用すべきリファクタリングの選定要因として,ソースコードの低品質箇所の改善だけでなく,ソースコードの品質低下の予防も考慮し,予防の観点からリファクタリング適用対象モジュールの選定に利用可能な特徴として腐敗モジュールを提案し,その特徴を分析した.(6)リファクタリングによる品質向上を適用すべきソースコード中の低品質箇所である不吉な臭いの情報を,ソフトウェア変更記述とモジュールとの対応付けに利用する手法を提案するとともに,その特徴を分析した.

Current Status of Research Progress
Current Status of Research Progress

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

Reason

本研究は,リファクタリング等のプログラム変換を探索的に組み合わせて自動的にソフトウェア品質を改善する,自動ソフトウェア進化方式のより現実的な実現を目指している.令和元年度では,平成30年度に開発したリファクタリング操作列の探索手法の自動ツールの開発をさらに進め,リファクタリングの検出への応用に成功している.また,リファクタリング結果のレビューに向けて,変更の粒度を変更しながらその全体像を俯瞰するためのツールのプロトタイプも完成し,実際に結果の分析が可能であったことを確認できている.

Strategy for Future Research Activity

令和2年度では,これまでに開発してきたツールを組み合わせ,実際に探索に基づいたリファクタリングの提案を実現していく.また,これまでに収集したリファクタリング実例および提案されたリファクタリング操作を組み合わせて用いて,その適用範囲を拡張していく.さらに,研究成果の公表に注力する.

Causes of Carryover

令和元年度では,大学院生を雇うための謝金や成果発表のための旅費の一部,また論文掲載費の執行時期に遅れが出た.これらの予算は令和2年度以降で使用する.令和2年度では,ソフトウェア保守・進化国際会議(International Conference on Software Maintenance and Evolution; ICSME),ソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reengineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく予定である.ただし,新型コロナウィルスの影響により国際会議の参加が想定通りに行えない可能性もあり,その際には研究期間の延長を検討する.

  • Research Products

    (19 results)

All 2020 2019

All Journal Article (8 results) (of which Int'l Joint Research: 2 results,  Peer Reviewed: 8 results,  Open Access: 6 results) Presentation (11 results) (of which Int'l Joint Research: 8 results)

  • [Journal Article] ChangeBeadsThreader: An Interactive Environment for Tailoring Automatically Untangled Changes2020

    • Author(s)
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 27th IEEE International Conference on Software Analysis, Evolution and Reengineering

      Volume: - Pages: 657-661

    • DOI

      10.1109/SANER48275.2020.9054861

    • Peer Reviewed / Open Access
  • [Journal Article] Ammonia: an approach for deriving project specific bug patterns2020

    • Author(s)
      Yoshiki Higo, Shinpei Hayashi, Hideaki Hata, Meiyappan Nagappan
    • Journal Title

      Empirical Software Engineering

      Volume: 25(3) Pages: 1951-1979

    • DOI

      10.1007/s10664-020-09807-w

    • Peer Reviewed / Open Access / Int'l Joint Research
  • [Journal Article] 情報検索に基づくBug Localizationへの不吉な臭いの利用2019

    • Author(s)
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • Journal Title

      情報処理学会論文誌

      Volume: 60(4) Pages: 1040-1050

    • Peer Reviewed
  • [Journal Article] The Impact of Systematic Edits in History Slicing2019

    • Author(s)
      Ryosuke Funaki, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 16th International Conference on Mining Software Repositories

      Volume: - Pages: 555-559

    • DOI

      10.1109/MSR.2019.00083

    • Peer Reviewed / Open Access
  • [Journal Article] Toward Proactive Refactoring: An Exploratory Study on Decaying Modules2019

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 3rd International Workshop on Refactoring

      Volume: - Pages: 39-46

    • DOI

      10.1109/IWoR.2019.00015

    • Peer Reviewed / Open Access
  • [Journal Article] Detecting Bad Smells in Use Case Descriptions2019

    • Author(s)
      Yotaro Seki, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 27th IEEE International Requirements Engineering Conference

      Volume: - Pages: 98-108

    • DOI

      10.1109/RE.2019.00021

    • Peer Reviewed / Open Access
  • [Journal Article] Can Automated Impact Analysis Techniques Help Predict Decaying Modules?2019

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 35th IEEE International Conference on Software Maintenance and Evolution

      Volume: - Pages: 541-545

    • DOI

      10.1109/ICSME.2019.00088

    • Peer Reviewed / Open Access
  • [Journal Article] An Empirical Study of Security Warnings from Static Application Security Testing Tools2019

    • Author(s)
      Bushra Aloraini, Meiyappan Nagappan, Daniel M. German, Shinpei Hayashi, Yoshiki Higo
    • Journal Title

      Journal of Systems and Software

      Volume: 158 Pages: 110427

    • DOI

      10.1016/j.jss.2019.110427

    • Peer Reviewed / Int'l Joint Research
  • [Presentation] ChangeBeadsThreader: An Interactive Environment for Tailoring Automatically Untangled Changes2020

    • Author(s)
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      27th IEEE International Conference on Software Analysis, Evolution and Reengineering
    • Int'l Joint Research
  • [Presentation] 探索に基づくローカルリファクタリングの検出2020

    • Author(s)
      筒井 湧暉, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • Organizer
      情報処理学会第204回ソフトウェア工学研究発表会
  • [Presentation] The Impact of Systematic Edits in History Slicing2019

    • Author(s)
      Ryosuke Funaki, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      16th International Conference on Mining Software Repositories
    • Int'l Joint Research
  • [Presentation] Toward Proactive Refactoring: An Exploratory Study on Decaying Modules2019

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      3rd International Workshop on Refactoring
    • Int'l Joint Research
  • [Presentation] Detecting Bad Smells in Use Case Descriptions2019

    • Author(s)
      Yotaro Seki, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      27th IEEE International Requirements Engineering Conference
    • Int'l Joint Research
  • [Presentation] Can Automated Impact Analysis Techniques Help Predict Decaying Modules?2019

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      35th IEEE International Conference on Software Maintenance and Evolution
    • Int'l Joint Research
  • [Presentation] Bug Localizationに対して不吉な臭いを使用する有用性の解明2019

    • Author(s)
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2019年10月)
  • [Presentation] Change Untangling結果の対話的最適化支援環境の試作2019

    • Author(s)
      山下 慧, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2019年10月)
  • [Presentation] Investigating Effective Usages of Code Smell Information for Bug Localization2019

    • Author(s)
      Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      10th International Workshop on Empirical Software Engineering in Practice
    • Int'l Joint Research
  • [Presentation] An Interactive Environment for Tailoring Automatically Untangled Changes2019

    • Author(s)
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      10th International Workshop on Empirical Software Engineering in Practice
    • Int'l Joint Research
  • [Presentation] Toward Automated Refactoring of Clone Groups2019

    • Author(s)
      Yutaro Otani, Motoshi Saeki, Shinpei Hayashi
    • Organizer
      10th International Workshop on Empirical Software Engineering in Practice
    • Int'l Joint Research

URL: 

Published: 2021-01-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi