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

2019 年度 実施状況報告書

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

研究課題

研究課題/領域番号 18K11238
研究機関東京工業大学

研究代表者

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

研究期間 (年度) 2018-04-01 – 2021-03-31
キーワードリファクタリング / ソフトウェア自動進化 / 探索ベースソフトウェア工学 / 対話型システム / 不吉な臭い
研究実績の概要

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

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

2: おおむね順調に進展している

理由

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

今後の研究の推進方策

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

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

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

  • 研究成果

    (19件)

すべて 2020 2019

すべて 雑誌論文 (8件) (うち国際共著 2件、 査読あり 8件、 オープンアクセス 6件) 学会発表 (11件) (うち国際学会 8件)

  • [雑誌論文] ChangeBeadsThreader: An Interactive Environment for Tailoring Automatically Untangled Changes2020

    • 著者名/発表者名
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

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

      巻: - ページ: 657-661

    • DOI

      10.1109/SANER48275.2020.9054861

    • 査読あり / オープンアクセス
  • [雑誌論文] Ammonia: an approach for deriving project specific bug patterns2020

    • 著者名/発表者名
      Yoshiki Higo, Shinpei Hayashi, Hideaki Hata, Meiyappan Nagappan
    • 雑誌名

      Empirical Software Engineering

      巻: 25(3) ページ: 1951-1979

    • DOI

      10.1007/s10664-020-09807-w

    • 査読あり / オープンアクセス / 国際共著
  • [雑誌論文] 情報検索に基づくBug Localizationへの不吉な臭いの利用2019

    • 著者名/発表者名
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • 雑誌名

      情報処理学会論文誌

      巻: 60(4) ページ: 1040-1050

    • 査読あり
  • [雑誌論文] The Impact of Systematic Edits in History Slicing2019

    • 著者名/発表者名
      Ryosuke Funaki, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

      Proceedings of the 16th International Conference on Mining Software Repositories

      巻: - ページ: 555-559

    • DOI

      10.1109/MSR.2019.00083

    • 査読あり / オープンアクセス
  • [雑誌論文] Toward Proactive Refactoring: An Exploratory Study on Decaying Modules2019

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

      Proceedings of the 3rd International Workshop on Refactoring

      巻: - ページ: 39-46

    • DOI

      10.1109/IWoR.2019.00015

    • 査読あり / オープンアクセス
  • [雑誌論文] Detecting Bad Smells in Use Case Descriptions2019

    • 著者名/発表者名
      Yotaro Seki, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

      Proceedings of the 27th IEEE International Requirements Engineering Conference

      巻: - ページ: 98-108

    • DOI

      10.1109/RE.2019.00021

    • 査読あり / オープンアクセス
  • [雑誌論文] Can Automated Impact Analysis Techniques Help Predict Decaying Modules?2019

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

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

      巻: - ページ: 541-545

    • DOI

      10.1109/ICSME.2019.00088

    • 査読あり / オープンアクセス
  • [雑誌論文] An Empirical Study of Security Warnings from Static Application Security Testing Tools2019

    • 著者名/発表者名
      Bushra Aloraini, Meiyappan Nagappan, Daniel M. German, Shinpei Hayashi, Yoshiki Higo
    • 雑誌名

      Journal of Systems and Software

      巻: 158 ページ: 110427

    • DOI

      10.1016/j.jss.2019.110427

    • 査読あり / 国際共著
  • [学会発表] ChangeBeadsThreader: An Interactive Environment for Tailoring Automatically Untangled Changes2020

    • 著者名/発表者名
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      27th IEEE International Conference on Software Analysis, Evolution and Reengineering
    • 国際学会
  • [学会発表] 探索に基づくローカルリファクタリングの検出2020

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

    • 著者名/発表者名
      Ryosuke Funaki, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      16th International Conference on Mining Software Repositories
    • 国際学会
  • [学会発表] Toward Proactive Refactoring: An Exploratory Study on Decaying Modules2019

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      3rd International Workshop on Refactoring
    • 国際学会
  • [学会発表] Detecting Bad Smells in Use Case Descriptions2019

    • 著者名/発表者名
      Yotaro Seki, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      27th IEEE International Requirements Engineering Conference
    • 国際学会
  • [学会発表] Can Automated Impact Analysis Techniques Help Predict Decaying Modules?2019

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      35th IEEE International Conference on Software Maintenance and Evolution
    • 国際学会
  • [学会発表] Bug Localizationに対して不吉な臭いを使用する有用性の解明2019

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

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

    • 著者名/発表者名
      Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      10th International Workshop on Empirical Software Engineering in Practice
    • 国際学会
  • [学会発表] An Interactive Environment for Tailoring Automatically Untangled Changes2019

    • 著者名/発表者名
      Satoshi Yamashita, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      10th International Workshop on Empirical Software Engineering in Practice
    • 国際学会
  • [学会発表] Toward Automated Refactoring of Clone Groups2019

    • 著者名/発表者名
      Yutaro Otani, Motoshi Saeki, Shinpei Hayashi
    • 学会等名
      10th International Workshop on Empirical Software Engineering in Practice
    • 国際学会

URL: 

公開日: 2021-01-27  

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

Powered by NII kakenhi