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

2018 Fiscal Year Final Research Report

A study on Frame-Based Refactoring

Research Project

  • PDF
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
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.

Free Research Field

ソフトウェア工学

Academic Significance and Societal Importance of the Research Achievements

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

URL: 

Published: 2020-03-30  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi