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

2018 Fiscal Year Annual Research Report

A study on Frame-Based Refactoring

Research Project

Project/Area Number 15H02685
Research InstitutionRitsumeikan University

Principal Investigator

丸山 勝久  立命館大学, 情報理工学部, 教授 (30330012)

Co-Investigator(Kenkyū-buntansha) 林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)
Project Period (FY) 2015-04-01 – 2019-03-31
Keywordsソフトウェアリファクタリング / ソフトウェア保守と進化 / 不吉な臭い / 技術的負債 / ソフトウェア開発環境 / プログラム解析 / プログラム理解
Outline of Annual Research Achievements

リファクタリングにおいて、開発者や保守者の立場によって保存すべき外部的振る舞いは異なると考えることは妥当である。本研究では、リファクタリングにおける外部的振る舞いの保存に対して、フレームという概念を導入することで、リファクタリングにおいて開発者が意識しているものと意識していないものを分離するための仕組みを確立する。平成30年度は、主に3つの研究項目を実施した。
1.メソッド抽出リファクタリングを適用した際、抽出後のメソッドの振る舞いが保存されていることを確認するためのテストコードを自動生成する手法を実装したプロトタイプツールを作成した。具体的には、抽出したメソッドを呼び出すもとのメソッドに対してテストを実行し、抽出したメソッドの入力値と出力値の対を収集する。テストケースを生成するだけでなく、収集した入出力値とプログラムスライシングを組み合わせることで、テストコードの自動生成まで達成した。
2.リファクタリングの適用を判断する基準となるコードの不吉な臭い(code smell)の自動検出や不吉な臭いをバグの発生箇所の局所化に利用する手法の検討を行った。従来のようにメトリクス値を単純に利用するのではなく、メトリクス値の相対的な変化に着目することで不吉な臭いの検出精度が向上する可能性を示した。また、不吉な臭いを活用することで、バグ修正が必要なモジュールの予測精度が向上することを示した。
3.統合開発環境において、リファクタリング操作およびその適用前後に行われたコードの編集操作を自動的に収集するツールを評価するための評価実験を実施した。実験では、リファクタリング操作を中心をしたプログラミング活動の9つのタスクを設定し、従来ツールおよび提案ツールにより収集可能な編集操作の精度と収集した編集操作の理解度に対して比較を行い、提案ツールの有用性を示した。

Research Progress Status

平成30年度が最終年度であるため、記入しない。

Strategy for Future Research Activity

平成30年度が最終年度であるため、記入しない。

  • Research Products

    (10 results)

All 2019 2018

All Journal Article (3 results) (of which Peer Reviewed: 3 results) Presentation (7 results) (of which Int'l Joint Research: 5 results)

  • [Journal Article] 情報検索に基づくBug Localizationへの不吉な臭いの利用2019

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

      情報処理学会論文誌

      Volume: vol. 60, no. 4 Pages: 1040-1050

    • Peer Reviewed
  • [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: vol. E101-D, no. 7 Pages: 1780-1789

    • DOI

      10.1587/transinf.2017KBP0023

    • Peer Reviewed
  • [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: vol. E101-D, no. 7 Pages: 1733-1742

    • DOI

      10.1587/transinf.2017KBP0006

    • Peer Reviewed
  • [Presentation] Automatic Software Merging Using Automated Program Repair2019

    • Author(s)
      Xiaoqian Xing, Katsuhisa Maruyama
    • Organizer
      International Workshop on Intelligent Bug Fixing (IBF)
    • Int'l Joint Research
  • [Presentation] Summarizing Code Changes by Tracing an Operation History Graph2019

    • Author(s)
      Takayuki Omori, Katsuhisa Maruyama, Atsushi Ohnishi
    • Organizer
      International Workshop on Mining and Analyzing Interaction Histories (MAINT'19)
    • Int'l Joint Research
  • [Presentation] A Preliminary Study on Using Code Smells to Improve Bug Localization2018

    • Author(s)
      Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      International Conference on Program Comprehension (ICPC 2018)
    • 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
      Computer Software and Applications Conference (COMPSAC 2018)
    • Int'l Joint Research
  • [Presentation] Visualizing Reactive Execution History using Propagation Traces2018

    • Author(s)
      Takumi Hikosaka, Tetsuo Kamina, Katsuhisa Maruyama
    • Organizer
      Reactive and Event-based Languages and Systems (REBLS 2018)
    • Int'l Joint Research
  • [Presentation] 細粒度ソフトウェア進化理解のための操作履歴グラフの実装2018

    • Author(s)
      大森隆行,丸山勝久,大西淳
    • Organizer
      日本ソフトウェア科学会FOSE2018
  • [Presentation] リファクタリング実証的研究のためのデータセット作成環境2018

    • Author(s)
      倉本 涼, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi