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

2020 年度 実施状況報告書

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

研究課題

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

研究代表者

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

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

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

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

3: やや遅れている

理由

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

今後の研究の推進方策

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

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

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

  • 研究成果

    (10件)

すべて 2021 2020

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

  • [雑誌論文] On Tracking Java Methods with Git Mechanisms2020

    • 著者名/発表者名
      Yoshiki Higo, Shinpei Hayashi, Shinji Kusumoto
    • 雑誌名

      Journal of Systems and Software

      巻: 165(110571) ページ: 1-13

    • DOI

      10.1016/j.jss.2020.110571

    • 査読あり / オープンアクセス
  • [雑誌論文] ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source Code2020

    • 著者名/発表者名
      Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E103-D(11) ページ: 2262-2277

    • DOI

      10.1587/transinf.2020EDK0001

    • 査読あり / オープンアクセス
  • [学会発表] 多言語データセットを用いた言語横断バグ限局の性能評価2021

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

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

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

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

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

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

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

    • 著者名/発表者名
      渡辺 俊介, 佐伯 元司, 林 晋平
    • 学会等名
      第27回ソフトウェア工学の基礎ワークショップ

URL: 

公開日: 2021-12-27  

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

Powered by NII kakenhi