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

2018 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

本研究は,より現実的な自動リファクタリングの実現に向けて,探索処理の向上,対話的な制御,および対話的制御のためのリファクタリング結果の効率的なレビュー方法の確立を目指すものである.平成30年度では,主に以下の成果を得た.(1)自動リファクタリングに用いる探索手法の検討を行った.その際には,申請者らがこれまでに行ってきたヒューリステック探索に基づくものを試し,求解の性能を分析しながら,他の探索手法も検討した.(2)探索手法を組み込んだ自動ツールの設計およびプロトタイプの実装を行った.(3)ソースコード変更からのリファクタリング検出を題材に探索手法のプロトタイプを実装し,その性能の予備評価を行った.(4)複数のリファクタリングが混在した場合の差分を効率よく理解するために,変更間の依存関係を考慮しながら変更の粒度を調整するための環境の設計を行った.(5)GitHubウェブサイトから得たソースコード変更からリファクタリングの実例を効率よく収集・管理するための,変更の注釈付け環境の設計およびプロトタイプの実装を行った.

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

平成31年度では,平成30年度に設計・試作した自動リファクタリングツールの挙動を洗練させ,手法として確立させる.その際には,保守性メトリクスを用いたリファクタリング適用結果の評価に基づくリファクタリング候補の推薦と,変更の説明性の高さをメトリクスとして用いたリファクタリング実例の分解の2つのアプリケーションを想定して進める.また,開発した実例収集環境を用いて,GitHub上のソフトウェア開発リポジトリ中の変更履歴からリファクタリング例を収集する.

Causes of Carryover

平成30年度では,提案手法の設計に注力したため,大学院生を雇うための謝金,成果発表のための旅費,論文掲載費の執行時期に遅れが出た.これらの予算は平成31年度以降で使用する.平成31年度では,ソフトウェア工学国際会議(International Conference on Software Engineering; ICSE)やソフトウェア保守・進化国際会議(International Conference on Software Maintenance and Evolution; ICSME),ソフトウェア解析・進化・リエンジニアリング国際会議(International Conference on Software Analytics, Evolution, and Reengineering; SANER)などの国際会議,ソフトウェア工学の基礎ワークショップ(FOSE)などの国内ワークショップに参加し,提案中のリファクタリング支援手法やそれに関連する技術の研究成果を発表していく.

  • Research Products

    (10 results)

All 2019 2018

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

  • [Journal Article] A Preliminary Study on Using Code Smells to Improve Bug Localization2018

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

      Proceedings of the 26th IEEE/ACM International Conference on Program Comprehension

      Volume: - Pages: 324-327

    • DOI

      10.1145/3196321.3196361

    • Peer Reviewed / Open Access
  • [Journal Article] An Investigative Study on How Developers Filter and Prioritize Code Smells2018

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

      IEICE Transactions on Information and Systems

      Volume: E101-D(7) Pages: 1733-1742

    • DOI

      10.1587/transinf.2017KBP0006

    • Peer Reviewed / Open Access
  • [Journal Article] Detecting Architectural Violations Using Responsibility and Dependency Constraints of Components2018

    • Author(s)
      Shinpei Hayashi, Fumiki Minami, Motoshi Saeki
    • Journal Title

      IEICE Transactions on Information and Systems

      Volume: E101-D(7) Pages: 1780-1789

    • DOI

      10.1587/transinf.2017KBP0023

    • Peer Reviewed / Open Access
  • [Journal Article] Visualizing a Tangled Change for Supporting Its Decomposition and Commit Construction2018

    • Author(s)
      Sarocha Sothornprapakorn, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      Proceedings of the 42nd IEEE Computer Software and Applications Conference

      Volume: - Pages: 74-79

    • DOI

      10.1109/COMPSAC.2018.00018

    • Peer Reviewed / Open Access
  • [Presentation] 依存関係を考慮した部分コミット履歴の再構成支援2019

    • Author(s)
      舟木 亮介, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2019年1月)
  • [Presentation] リファクタリング実証的研究のためのデータセット作成環境2019

    • Author(s)
      倉本 涼, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2019年3月)
  • [Presentation] ブランチを考慮したプロアクティブなソフトウェアメトリクス値の算出2019

    • Author(s)
      伊勢本 圭亮, 佐伯 元司, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会(2019年3月)
  • [Presentation] ユースケース記述中の不吉な臭いの体系化と検出2019

    • Author(s)
      関 洋太朗, 林 晋平, 佐伯 元司
    • Organizer
      情報処理学会第201回ソフトウェア工学研究発表会
  • [Presentation] A Preliminary Study on Using Code Smells to Improve Bug Localization2018

    • Author(s)
      Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      26th IEEE/ACM International Conference on Program Comprehension
    • Int'l Joint Research
  • [Presentation] Visualizing a Tangled Change for Supporting Its Decomposition and Commit Construction2018

    • Author(s)
      Sarocha Sothornprapakorn, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      42nd IEEE Computer Software and Applications Conference
    • Int'l Joint Research

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi