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

A study on Frame-Based Refactoring

Research Project

Project/Area Number 15H02685
Research Category

Grant-in-Aid for Scientific Research (B)

Allocation TypeSingle-year Grants
Section一般
Research Field Software
Research InstitutionRitsumeikan University

Principal Investigator

MARUYAMA KATSUHISA  立命館大学, 情報理工学部, 教授 (30330012)

Co-Investigator(Kenkyū-buntansha) 林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)
Research Collaborator OMORI TAKAYUKI  
Project Period (FY) 2015-04-01 – 2019-03-31
Project Status Completed (Fiscal Year 2018)
Budget Amount *help
¥13,780,000 (Direct Cost: ¥10,600,000、Indirect Cost: ¥3,180,000)
Fiscal Year 2018: ¥2,860,000 (Direct Cost: ¥2,200,000、Indirect Cost: ¥660,000)
Fiscal Year 2017: ¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2016: ¥3,900,000 (Direct Cost: ¥3,000,000、Indirect Cost: ¥900,000)
Fiscal Year 2015: ¥2,860,000 (Direct Cost: ¥2,200,000、Indirect Cost: ¥660,000)
Keywordsソフトウェアリファクタリング / ソフトウェア進化 / 技術的負債 / 不吉な臭い / ソフトウェア開発環境 / プログラム解析 / プログラム理解 / ソフトウェア保守と進化 / ソフトウェア開発効率化・安定化 / ソフトウェア進化と保守 / ソースコード解析と変換 / ソフトウェアリポジトリマイニング / ソフトウエア開発効率化・安定化 / ソフトウエア開発環境
Outline of Final Research Achievements

In this research study, we showed that a spatial frame defined as a set of test cases is capable of relaxing the definition of the behavior preservation in refactoring. Additionally, we proposed a mechanism that automatically generates new complementary test cases that are likely to help a programmer define spatial frames. A temporal frame separates the time period in which the behavior preservation should be guaranteed from the whole process of automated refactoring. To increase the applicability of automated refactoring, a postponable refactoring tool employing temporal frames allows a programmer to suspend the execution of the applied refactoring if its preconditions are not satisfied and to restart the suspended refactoring once all the preconditions are satisfied. We also developed a platform that can record accurate and intelligible textual changes of source code evolution, especially including code changes by refactoring.

Academic Significance and Societal Importance of the Research Achievements

社会の要求や技術の進歩に迅速に対応してソフトウェアを進化させていくために、リファクタリングは必須の作業である。本研究では、ソフトウェアの外部的振る舞いの保存という曖昧な概念をフレームにより明確に定義可能とすることで、自動リファクタリングにおける安全性を議論することを可能とした。さらに、外部的挙動をフレームで捉えることで、新たなリファクタリング支援手法の考案に成功した。これにより、ソフトウェア開発現場や保守現場において自動リファクタリングの適用機会が増加することが期待できる。

Report

(5 results)
  • 2018 Annual Research Report   Final Research Report ( PDF )
  • 2017 Annual Research Report
  • 2016 Annual Research Report
  • 2015 Annual Research Report
  • Research Products

    (47 results)

All 2019 2018 2017 2016 2015 Other

All Journal Article (9 results) (of which Peer Reviewed: 9 results,  Open Access: 6 results,  Acknowledgement Compliant: 1 results) Presentation (33 results) (of which Int'l Joint Research: 14 results) Remarks (5 results)

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

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

      情報処理学会論文誌

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

    • NAID

      170000150280

    • Related Report
      2018 Annual Research Report
    • 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: E101.D Issue: 7 Pages: 1780-1789

    • DOI

      10.1587/transinf.2017KBP0023

    • NAID

      130007386816

    • ISSN
      0916-8532, 1745-1361
    • Year and Date
      2018-07-01
    • Related Report
      2018 Annual Research Report
    • 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 Issue: 7 Pages: 1733-1742

    • DOI

      10.1587/transinf.2017KBP0006

    • NAID

      130007386819

    • ISSN
      0916-8532, 1745-1361
    • Year and Date
      2018-07-01
    • Related Report
      2018 Annual Research Report
    • Peer Reviewed / Open Access
  • [Journal Article] コードの編集履歴を用いた競合解決支援2018

    • Author(s)
      西村雄一、紙名哲生、丸山勝久
    • Journal Title

      情報処理学会 論文誌

      Volume: 59 Pages: 1120-1136

    • NAID

      170000149448

    • Related Report
      2017 Annual Research Report
    • Peer Reviewed
  • [Journal Article] Comparative Study between Two Approaches Using Edit Operations and Code Differences to Detect Past Refactorings2018

    • Author(s)
      Takayuki Omori、Katsuhisa Maruyama
    • Journal Title

      IEICE Transactions on Information and Systems

      Volume: E101.D Issue: 3 Pages: 644-658

    • DOI

      10.1587/transinf.2017EDP7160

    • NAID

      130006414102

    • ISSN
      0916-8532, 1745-1361
    • Related Report
      2017 Annual Research Report
    • Peer Reviewed / Open Access
  • [Journal Article] クラス責務割当てのファジィ制約充足問題としての定式化2017

    • Author(s)
      林 晋平, 柳田 拓人, 佐伯 元司, 三村 秀典
    • Journal Title

      情報処理学会論文誌

      Volume: 58 Pages: 795-806

    • NAID

      170000148540

    • Related Report
      2017 Annual Research Report
    • Peer Reviewed
  • [Journal Article] Context-based approach to prioritize code smells for prefactoring2017

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

      Journal of Software: Evolution and Process

      Volume: - Issue: 6 Pages: 1-24

    • DOI

      10.1002/smr.1886

    • Related Report
      2017 Annual Research Report
    • Peer Reviewed / Open Access
  • [Journal Article] A Survey on Methods of Recording Fine-grained Operations on Integrated Development Environments and their Applications2016

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

      Computre Software

      Volume: 32 Pages: 60-80

    • NAID

      130005130089

    • Related Report
      2016 Annual Research Report
    • Peer Reviewed / Open Access
  • [Journal Article] Slicing Fine-Grained Code Change History2016

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

      IEICE Transactions on Information and Systems

      Volume: E99.D Issue: 3 Pages: 671-687

    • DOI

      10.1587/transinf.2015EDP7282

    • NAID

      130005131823

    • ISSN
      0916-8532, 1745-1361
    • Related Report
      2015 Annual Research Report
    • Peer Reviewed / Open Access / Acknowledgement Compliant
  • [Presentation] Automatic Software Merging Using Automated Program Repair2019

    • Author(s)
      Xiaoqian Xing, Katsuhisa Maruyama
    • Organizer
      International Workshop on Intelligent Bug Fixing (IBF)
    • Related Report
      2018 Annual Research Report
    • 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)
    • Related Report
      2018 Annual Research Report
    • 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)
    • Related Report
      2018 Annual Research Report
    • 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)
    • Related Report
      2018 Annual Research Report
    • 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)
    • Related Report
      2018 Annual Research Report
    • Int'l Joint Research
  • [Presentation] 細粒度ソフトウェア進化理解のための操作履歴グラフの実装2018

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

    • Author(s)
      倉本 涼, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
    • Related Report
      2018 Annual Research Report
  • [Presentation] ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code2018

    • Author(s)
      Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori
    • Organizer
      25th International Conference on Software Analysis, Evolution, and Reengineering (SANER'18)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] メソッド抽出リファクタリングにおけるテストコード生成2018

    • Author(s)
      三宅皐, 紙名哲生, 丸山勝久
    • Organizer
      電子情報通信学会 知能ソフトウェア工学研究会
    • Related Report
      2017 Annual Research Report
  • [Presentation] 名前変更リファクタリングが行われた識別子間の関係性に関する実証的調査2018

    • Author(s)
      梅川 尚孝, 林 晋平, 佐伯 元司
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
    • Related Report
      2017 Annual Research Report
  • [Presentation] 実行トレースの共通性分析に基づく機能開始点の特定2018

    • Author(s)
      中野 真明貴, 野田訓広, 小林 隆志, 林 晋平
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
    • Related Report
      2017 Annual Research Report
  • [Presentation] 情報検索に基づくBug Localizationへの不吉な臭いの深刻度の利用2018

    • Author(s)
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • Organizer
      情報処理学会 ソフトウェア工学研究発表会
    • Related Report
      2017 Annual Research Report
  • [Presentation] 識別子名一括変更支援における推薦精度の向上に向けて2017

    • Author(s)
      梅川 尚孝, 林 晋平, 佐伯 元司
    • Organizer
      情報処理学会 第195回ソフトウェア工学研究発表会
    • Place of Presentation
      早稲田大学西早稲田キャンパス(東京都新宿区)
    • Year and Date
      2017-03-12
    • Related Report
      2016 Annual Research Report
  • [Presentation] Frame-Based Behavior Preservation in Refactoring2017

    • Author(s)
      Katsuhisa Maruyama, Shinpei Hayashi, Norihiro Yoshida, Eunjong Choi
    • Organizer
      24th International Conference on Software Analysis, Evolution, and Reengineering (SANER 2017)
    • Place of Presentation
      Klagenfurt (Austria)
    • Year and Date
      2017-02-23
    • Related Report
      2016 Annual Research Report
  • [Presentation] A Tool Supporting Postponable Refactoring2017

    • Author(s)
      Katsuhisa Maruyama, Shinpei Hayashi
    • Organizer
      39th International Conference on Software Engineering (ICSE'17)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] メソッド抽出リファクタリングにおけるテストケースの自動生成2017

    • Author(s)
      三宅皐, 紙名哲生, 丸山勝久
    • Organizer
      情報処理学会 ソフトウェアエンジニアリングシンポジウム2017
    • Related Report
      2017 Annual Research Report
  • [Presentation] Revisiting Context-Based Code Smells Prioritization: On Supporting Referred Context2017

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      9th International Workshop on Managing Technical Debt (MTD 2017)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Inference-Based Detection of Architectural Violations in MVC22017

    • Author(s)
      Shinpei Hayashi, Fumiki Minami, Motoshi Saeki
    • Organizer
      12th International Conference on Software Technologies (ICSOFT 2017)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Mediating Turf Battles! Prioritizing Shared Modules in Locating Multiple Features2017

    • Author(s)
      Maaki Nakano, Kunihiro Noda, Shinpei Hayashi, Takashi Kobayashi
    • Organizer
      41st IEEE Computer Society Signature Conference on Computers, Software and Applications (COMPSAC 2017)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] How Do Developers Select and Prioritize Code Smells? A Preliminary Study2017

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      33rd IEEE International Conference on Software Maintenance and Evolution (ICSME 2017)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] Detecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis2017

    • Author(s)
      Keisuke Asano, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      4th International Workshop on Conceptual Modeling in Requirements and Business Analysis (MReBa 2017)
    • Related Report
      2017 Annual Research Report
    • Int'l Joint Research
  • [Presentation] ソースコード編集履歴を用いた競合解決支援ツール2016

    • Author(s)
      西村 雄一,紙名 哲生,丸山 勝久
    • Organizer
      日本ソフトウェア科学会 ソフトウェア工学の基礎研究会 (FOSE 2016)
    • Place of Presentation
      ことひら温泉 琴参閣(香川県仲多度郡琴平町)
    • Year and Date
      2016-12-02
    • Related Report
      2016 Annual Research Report
  • [Presentation] 編集履歴から算出した開発者の関心度に基づくコード補完2016

    • Author(s)
      Liao Ziyang,丸山 勝久
    • Organizer
      日本ソフトウェア科学会第33回大会
    • Place of Presentation
      東北大学片平キャンパス(宮城県仙台市)
    • Year and Date
      2016-09-08
    • Related Report
      2016 Annual Research Report
  • [Presentation] コンポーネントの責務と依存制約に基づくリファクタリング支援2016

    • Author(s)
      陽 文樹, 林 晋平, 佐伯 元司
    • Organizer
      ソフトウェアエンジニアリングシンポジウム2016 (SES 2016)
    • Place of Presentation
      東洋大学白山キャンパス(東京都文京区)
    • Year and Date
      2016-09-01
    • Related Report
      2016 Annual Research Report
  • [Presentation] Secure Data Storage Architecture on Cloud Environments2016

    • Author(s)
      Tran Thi Xuan Trang, Katsuhisa Maruyama
    • Organizer
      11th International Joint Conference on Software Technologies
    • Place of Presentation
      Lisbon (Portugal)
    • Year and Date
      2016-07-25
    • Related Report
      2016 Annual Research Report
  • [Presentation] Detecting Invalid Layer Combinations Using Control-Flow Analysis for Android2016

    • Author(s)
      Noriyuki Suzuki, Tetsuo Kamina, Katsuhisa Maruyama
    • Organizer
      8th International Workshop on Context-Oriented Programming (COP'16)
    • Place of Presentation
      Rome (Italy)
    • Year and Date
      2016-07-19
    • Related Report
      2016 Annual Research Report
  • [Presentation] Javaにおける関数型インタフェースの拡張2016

    • Author(s)
      三宅 皐,丸山 勝久,紙名 哲生
    • Organizer
      情報処理学会 第193回ソフトウェア工学研究発表会
    • Place of Presentation
      北海道立道民活動センター(北海道札幌市)
    • Year and Date
      2016-07-13
    • Related Report
      2016 Annual Research Report
  • [Presentation] Context-Based Code Smells Prioritization for Prefactoring2016

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      24th International Conference on Program Comprehension (ICPC 2016)
    • Place of Presentation
      Austin, Texas (USA)
    • Year and Date
      2016-05-16
    • Related Report
      2016 Annual Research Report
  • [Presentation] Supporting Merge Conflict Resolution by Using Fine-Grained Code Change History2016

    • Author(s)
      Yuichi Nishimura, Katsuhisa Maruyama
    • Organizer
      23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER'16)
    • Place of Presentation
      大阪大学吹田キャンパス(大阪府・吹田市)
    • Year and Date
      2016-03-16
    • Related Report
      2015 Annual Research Report
    • Int'l Joint Research
  • [Presentation] 命名方法の関連性に基づく識別子名の一括変更支援2016

    • Author(s)
      小俣 仁美, 林 晋平, 佐伯 元司
    • Organizer
      情報処理学会 第191回ソフトウェア工学研究発表会
    • Place of Presentation
      大阪大学吹田キャンパス(大阪府・吹田市)
    • Year and Date
      2016-03-15
    • Related Report
      2015 Annual Research Report
  • [Presentation] フレームベースリファクタリング ~その概念と意義~2015

    • Author(s)
      丸山勝久,林晋平,吉田則裕,崔恩瀞
    • Organizer
      日本ソフトウェア科学会 ソフトウェア工学の基礎研究会 (FOSE2015)
    • Place of Presentation
      ほほえみの宿 滝の湯(山形県・天童市)
    • Year and Date
      2015-11-27
    • Related Report
      2015 Annual Research Report
  • [Presentation] プログラム編集履歴を用いた版管理システムでの競合解決支援2015

    • Author(s)
      西村雄一,丸山勝久
    • Organizer
      日本ソフトウェア科学会第32回大会
    • Place of Presentation
      早稲田大学西早稲田キャンパス(東京都・新宿区)
    • Year and Date
      2015-09-10
    • Related Report
      2015 Annual Research Report
  • [Presentation] Hierarchical Categorization of Edit Operations for Separately Committing Large Refactoring Results2015

    • Author(s)
      Jumpei Matsuda, Shinpei Hayashi, Motoshi Saeki
    • Organizer
      14th International Workshop on Principles of Software Evolution (IWPSE'15)
    • Place of Presentation
      Bergamo (Italy)
    • Year and Date
      2015-08-30
    • Related Report
      2015 Annual Research Report
    • Int'l Joint Research
  • [Remarks] ChangeMacroRecorder

    • URL

      https://github.com/katsuhisamaruyama/ChangeMacroRecorder

    • Related Report
      2017 Annual Research Report 2016 Annual Research Report
  • [Remarks] PostponableRefactoring

    • URL

      https://github.com/katsuhisamaruyama/PostponableRefactoring

    • Related Report
      2017 Annual Research Report
  • [Remarks] MergeHelper

    • URL

      http://www.fse.cs.ritsumei.ac.jp/mergehelper/

    • Related Report
      2016 Annual Research Report 2015 Annual Research Report
  • [Remarks] Postponable Refactoring

    • URL

      https://github.com/katsuhisamaruyama/PostponableRefactoring

    • Related Report
      2016 Annual Research Report
  • [Remarks] Change Tracker

    • URL

      https://github.com/katsuhisamaruyama/changetracker

    • Related Report
      2015 Annual Research Report

URL: 

Published: 2015-04-16   Modified: 2020-03-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi