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

2020 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 – 2022-03-31
Keywordsリファクタリング / ソフトウェア自動進化 / 探索ベースソフトウェア工学 / 対話型システム / 不吉な臭い
Outline of Annual Research Achievements

本研究は,より現実的な自動リファクタリングの実現に向けて,探索処理の向上,対話的な制御,および対話的制御のためのリファクタリング結果の効率的なレビュー方法の確立を目指すものである.令和2年度では,主に以下の成果を得た.
(1)前年度に引き続き自動リファクタリングに用いる探索手法の検討を行った.特に,開発者情報を利用した目的関数の構築方法を検討した.(2)リファクタリングを含むソースコード変更パターンを版管理履歴から抽出し,自動的にそれらを適用すべき箇所を特定するツールを,複数のプログラミング言語に対して適用可能なよう改良し,その効果を分析した.(3)リファクタリングによる品質向上を適用すべきソースコード中の低品質箇所である不吉な臭いの情報を,ソフトウェア変更記述とモジュールとの対応付けに活用する手法の特徴分析を進め,対応付け特定精度の変化との関係を整理した.(4)モジュールの開発者情報を得るため,Gitによる版管理リポジトリを対象として軽量でモジュールの細粒度追跡を行う手法を開発した.リポジトリ変換を行ってGitリポジトリからJavaメソッド単位のファイルを抽出し,メソッド単位の追跡を行う上で,追跡精度を向上させるための複数のヒューリスティックを検討した.(5)コードクローンを対象に,集約可能なコードの大きさと集約によるソースコードの可視性の低下の両方の観点を考慮してメソッド集約リファクタリングの候補を得る手法を開発した.

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

本研究は,リファクタリング等のプログラム変換を探索的に組み合わせて自動的にソフトウェア品質を改善する,自動ソフトウェア進化方式のより現実的な実現を目指している.令和2年度では,これまでに開発したリファクタリング操作列の探索手法の自動ツールの開発をさらに進め,また新しい評価関数の設計についても進めている.その一方で,リファクタリングの適用候補となるモジュールが備える特徴である不吉な臭いの情報の発展的利用法についての研究を追加した点,手法の評価に関する実験が遅れている点が,スケジュールの遅延につながっている.

Strategy for Future Research Activity

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

Causes of Carryover

令和2年度では,COVID-19感染拡大の影響による研究計画の変更や国際会議の運営状況の変化により,大学院生を雇用するための謝金や成果発表のための旅費の執行状況に変更が生じた.これらの予算は令和3年度で使用する.令和3年度では,ソフトウェア保守・進化国際会議(International Conference on Software Maintenance and Evolution; ICSME),ソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reengineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく予定である.また,雑誌論文の掲載費としても利用する.

  • Research Products

    (10 results)

All 2021 2020

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

  • [Journal Article] On Tracking Java Methods with Git Mechanisms2020

    • Author(s)
      Yoshiki Higo, Shinpei Hayashi, Shinji Kusumoto
    • Journal Title

      Journal of Systems and Software

      Volume: 165(110571) Pages: 1-13

    • DOI

      10.1016/j.jss.2020.110571

    • Peer Reviewed / Open Access
  • [Journal Article] ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source Code2020

    • Author(s)
      Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori
    • Journal Title

      IEICE Transactions on Information and Systems

      Volume: E103-D(11) Pages: 2262-2277

    • DOI

      10.1587/transinf.2020EDK0001

    • Peer Reviewed / Open Access
  • [Presentation] 多言語データセットを用いた言語横断バグ限局の性能評価2021

    • Author(s)
      三井 亮称, 佐伯 元司, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2021年1月)
  • [Presentation] マイルストーンコンテキストの捜索のためのタスク記述群活用法の分析2021

    • Author(s)
      渡辺 俊介, 佐伯 元司, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2021年1月)
  • [Presentation] 共変更に基づく変更推薦に対するブランチ戦略の影響分析2021

    • Author(s)
      伊勢本 圭亮, 小林 隆志, 佐伯 元司, 林 晋平
    • Organizer
      情報処理学会第207回ソフトウェア工学研究発表会
  • [Presentation] 大規模名前変更データセットを用いた識別子名の同時変更の調査2021

    • Author(s)
      大住 祐輝, 佐伯 元司, 林 晋平
    • Organizer
      情報処理学会第207回ソフトウェア工学研究発表会
  • [Presentation] 複数観点を考慮したクローンリファクタリング支援2021

    • Author(s)
      大谷 悠太郎, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2021年3月)
  • [Presentation] 多様なプログラミング言語に適用可能なソースコード変更パターン抽出手法2020

    • Author(s)
      安藤 直樹, 佐伯 元司, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2020年7月)
  • [Presentation] 複数の品質指標を考慮したクローンリファクタリングに向けて2020

    • Author(s)
      大谷 悠太郎, 佐伯 元司, 林 晋平
    • Organizer
      第27回ソフトウェア工学の基礎ワークショップ
  • [Presentation] 複数のタスク情報を用いたマイルストーンコンテキストの捜索法の確立に向けて2020

    • Author(s)
      渡辺 俊介, 佐伯 元司, 林 晋平
    • Organizer
      第27回ソフトウェア工学の基礎ワークショップ

URL: 

Published: 2021-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi