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

フレームベースリファクタリング環境の構築

研究課題

研究課題/領域番号 15H02685
研究種目

基盤研究(B)

配分区分補助金
応募区分一般
研究分野 ソフトウェア
研究機関立命館大学

研究代表者

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

研究分担者 林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)
研究協力者 大森 隆行  
研究期間 (年度) 2015-04-01 – 2019-03-31
研究課題ステータス 完了 (2018年度)
配分額 *注記
13,780千円 (直接経費: 10,600千円、間接経費: 3,180千円)
2018年度: 2,860千円 (直接経費: 2,200千円、間接経費: 660千円)
2017年度: 4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
2016年度: 3,900千円 (直接経費: 3,000千円、間接経費: 900千円)
2015年度: 2,860千円 (直接経費: 2,200千円、間接経費: 660千円)
キーワードソフトウェアリファクタリング / ソフトウェア進化 / 技術的負債 / 不吉な臭い / ソフトウェア開発環境 / プログラム解析 / プログラム理解 / ソフトウェア保守と進化 / ソフトウェア開発効率化・安定化 / ソフトウェア進化と保守 / ソースコード解析と変換 / ソフトウェアリポジトリマイニング / ソフトウエア開発効率化・安定化 / ソフトウエア開発環境
研究成果の概要

本研究では、テストケースの集合で構成する空間的フレームを活用することで、リファクタリングにおける外部的振る舞いの保存に対する曖昧さが排除できることを示し、不足するテストケースを自動生成する手法を提案した。また、自動リファクタリングの適用途中に開発者による手動のコード編集を許可する時間的フレームを導入することで、リファクタリングの中断と再開による遅延適用を可能とするツールを構築し、使用性の観点からその有用性を示した。さらに、リファクタリングの適用とそれに伴うコード変化を正確かつ理解しやすい表現で記録するツールプラットフォームを構築した。

研究成果の学術的意義や社会的意義

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

報告書

(5件)
  • 2018 実績報告書   研究成果報告書 ( PDF )
  • 2017 実績報告書
  • 2016 実績報告書
  • 2015 実績報告書
  • 研究成果

    (47件)

すべて 2019 2018 2017 2016 2015 その他

すべて 雑誌論文 (9件) (うち査読あり 9件、 オープンアクセス 6件、 謝辞記載あり 1件) 学会発表 (33件) (うち国際学会 14件) 備考 (5件)

  • [雑誌論文] 情報検索に基づくBug Localizationへの不吉な臭いの利用2019

    • 著者名/発表者名
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • 雑誌名

      情報処理学会論文誌

      巻: vol. 60, no. 4 ページ: 1040-1050

    • NAID

      170000150280

    • 関連する報告書
      2018 実績報告書
    • 査読あり
  • [雑誌論文] Detecting Architectural Violations Using Responsibility and Dependency Constraints of Components2018

    • 著者名/発表者名
      Shinpei Hayashi, Fumiki Minami, Motoshi Saeki
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E101.D 号: 7 ページ: 1780-1789

    • DOI

      10.1587/transinf.2017KBP0023

    • NAID

      130007386816

    • ISSN
      0916-8532, 1745-1361
    • 年月日
      2018-07-01
    • 関連する報告書
      2018 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] An Investigative Study on How Developers Filter and Prioritize Code Smells2018

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E101.D 号: 7 ページ: 1733-1742

    • DOI

      10.1587/transinf.2017KBP0006

    • NAID

      130007386819

    • ISSN
      0916-8532, 1745-1361
    • 年月日
      2018-07-01
    • 関連する報告書
      2018 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] コードの編集履歴を用いた競合解決支援2018

    • 著者名/発表者名
      西村雄一、紙名哲生、丸山勝久
    • 雑誌名

      情報処理学会 論文誌

      巻: 59 ページ: 1120-1136

    • NAID

      170000149448

    • 関連する報告書
      2017 実績報告書
    • 査読あり
  • [雑誌論文] Comparative Study between Two Approaches Using Edit Operations and Code Differences to Detect Past Refactorings2018

    • 著者名/発表者名
      Takayuki Omori、Katsuhisa Maruyama
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E101.D 号: 3 ページ: 644-658

    • DOI

      10.1587/transinf.2017EDP7160

    • NAID

      130006414102

    • ISSN
      0916-8532, 1745-1361
    • 関連する報告書
      2017 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] クラス責務割当てのファジィ制約充足問題としての定式化2017

    • 著者名/発表者名
      林 晋平, 柳田 拓人, 佐伯 元司, 三村 秀典
    • 雑誌名

      情報処理学会論文誌

      巻: 58 ページ: 795-806

    • NAID

      170000148540

    • 関連する報告書
      2017 実績報告書
    • 査読あり
  • [雑誌論文] Context-based approach to prioritize code smells for prefactoring2017

    • 著者名/発表者名
      Sae-Lim Natthawute、Hayashi Shinpei、Saeki Motoshi
    • 雑誌名

      Journal of Software: Evolution and Process

      巻: - 号: 6 ページ: 1-24

    • DOI

      10.1002/smr.1886

    • 関連する報告書
      2017 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] A Survey on Methods of Recording Fine-grained Operations on Integrated Development Environments and their Applications2016

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

      Computre Software

      巻: 32 ページ: 60-80

    • NAID

      130005130089

    • 関連する報告書
      2016 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Slicing Fine-Grained Code Change History2016

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

      IEICE Transactions on Information and Systems

      巻: E99.D 号: 3 ページ: 671-687

    • DOI

      10.1587/transinf.2015EDP7282

    • NAID

      130005131823

    • ISSN
      0916-8532, 1745-1361
    • 関連する報告書
      2015 実績報告書
    • 査読あり / オープンアクセス / 謝辞記載あり
  • [学会発表] Automatic Software Merging Using Automated Program Repair2019

    • 著者名/発表者名
      Xiaoqian Xing, Katsuhisa Maruyama
    • 学会等名
      International Workshop on Intelligent Bug Fixing (IBF)
    • 関連する報告書
      2018 実績報告書
    • 国際学会
  • [学会発表] Summarizing Code Changes by Tracing an Operation History Graph2019

    • 著者名/発表者名
      Takayuki Omori, Katsuhisa Maruyama, Atsushi Ohnishi
    • 学会等名
      International Workshop on Mining and Analyzing Interaction Histories (MAINT'19)
    • 関連する報告書
      2018 実績報告書
    • 国際学会
  • [学会発表] A Preliminary Study on Using Code Smells to Improve Bug Localization2018

    • 著者名/発表者名
      Aoi Takahashi, Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      International Conference on Program Comprehension (ICPC 2018)
    • 関連する報告書
      2018 実績報告書
    • 国際学会
  • [学会発表] Visualizing a Tangled Change for Supporting Its Decomposition and Commit Construction2018

    • 著者名/発表者名
      Sarocha Sothornprapakorn, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      Computer Software and Applications Conference (COMPSAC 2018)
    • 関連する報告書
      2018 実績報告書
    • 国際学会
  • [学会発表] Visualizing Reactive Execution History using Propagation Traces2018

    • 著者名/発表者名
      Takumi Hikosaka, Tetsuo Kamina, Katsuhisa Maruyama
    • 学会等名
      Reactive and Event-based Languages and Systems (REBLS 2018)
    • 関連する報告書
      2018 実績報告書
    • 国際学会
  • [学会発表] 細粒度ソフトウェア進化理解のための操作履歴グラフの実装2018

    • 著者名/発表者名
      大森隆行,丸山勝久,大西淳
    • 学会等名
      日本ソフトウェア科学会FOSE2018
    • 関連する報告書
      2018 実績報告書
  • [学会発表] リファクタリング実証的研究のためのデータセット作成環境2018

    • 著者名/発表者名
      倉本 涼, 林 晋平, 佐伯 元司
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2018 実績報告書
  • [学会発表] ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code2018

    • 著者名/発表者名
      Katsuhisa Maruyama, Shinpei Hayashi, Takayuki Omori
    • 学会等名
      25th International Conference on Software Analysis, Evolution, and Reengineering (SANER'18)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] メソッド抽出リファクタリングにおけるテストコード生成2018

    • 著者名/発表者名
      三宅皐, 紙名哲生, 丸山勝久
    • 学会等名
      電子情報通信学会 知能ソフトウェア工学研究会
    • 関連する報告書
      2017 実績報告書
  • [学会発表] 名前変更リファクタリングが行われた識別子間の関係性に関する実証的調査2018

    • 著者名/発表者名
      梅川 尚孝, 林 晋平, 佐伯 元司
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2017 実績報告書
  • [学会発表] 実行トレースの共通性分析に基づく機能開始点の特定2018

    • 著者名/発表者名
      中野 真明貴, 野田訓広, 小林 隆志, 林 晋平
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2017 実績報告書
  • [学会発表] 情報検索に基づくBug Localizationへの不吉な臭いの深刻度の利用2018

    • 著者名/発表者名
      高橋 碧, セーリム ナッタウット, 林 晋平, 佐伯 元司
    • 学会等名
      情報処理学会 ソフトウェア工学研究発表会
    • 関連する報告書
      2017 実績報告書
  • [学会発表] 識別子名一括変更支援における推薦精度の向上に向けて2017

    • 著者名/発表者名
      梅川 尚孝, 林 晋平, 佐伯 元司
    • 学会等名
      情報処理学会 第195回ソフトウェア工学研究発表会
    • 発表場所
      早稲田大学西早稲田キャンパス(東京都新宿区)
    • 年月日
      2017-03-12
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Frame-Based Behavior Preservation in Refactoring2017

    • 著者名/発表者名
      Katsuhisa Maruyama, Shinpei Hayashi, Norihiro Yoshida, Eunjong Choi
    • 学会等名
      24th International Conference on Software Analysis, Evolution, and Reengineering (SANER 2017)
    • 発表場所
      Klagenfurt (Austria)
    • 年月日
      2017-02-23
    • 関連する報告書
      2016 実績報告書
  • [学会発表] A Tool Supporting Postponable Refactoring2017

    • 著者名/発表者名
      Katsuhisa Maruyama, Shinpei Hayashi
    • 学会等名
      39th International Conference on Software Engineering (ICSE'17)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] メソッド抽出リファクタリングにおけるテストケースの自動生成2017

    • 著者名/発表者名
      三宅皐, 紙名哲生, 丸山勝久
    • 学会等名
      情報処理学会 ソフトウェアエンジニアリングシンポジウム2017
    • 関連する報告書
      2017 実績報告書
  • [学会発表] Revisiting Context-Based Code Smells Prioritization: On Supporting Referred Context2017

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      9th International Workshop on Managing Technical Debt (MTD 2017)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] Inference-Based Detection of Architectural Violations in MVC22017

    • 著者名/発表者名
      Shinpei Hayashi, Fumiki Minami, Motoshi Saeki
    • 学会等名
      12th International Conference on Software Technologies (ICSOFT 2017)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] Mediating Turf Battles! Prioritizing Shared Modules in Locating Multiple Features2017

    • 著者名/発表者名
      Maaki Nakano, Kunihiro Noda, Shinpei Hayashi, Takashi Kobayashi
    • 学会等名
      41st IEEE Computer Society Signature Conference on Computers, Software and Applications (COMPSAC 2017)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] How Do Developers Select and Prioritize Code Smells? A Preliminary Study2017

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      33rd IEEE International Conference on Software Maintenance and Evolution (ICSME 2017)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] Detecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis2017

    • 著者名/発表者名
      Keisuke Asano, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      4th International Workshop on Conceptual Modeling in Requirements and Business Analysis (MReBa 2017)
    • 関連する報告書
      2017 実績報告書
    • 国際学会
  • [学会発表] ソースコード編集履歴を用いた競合解決支援ツール2016

    • 著者名/発表者名
      西村 雄一,紙名 哲生,丸山 勝久
    • 学会等名
      日本ソフトウェア科学会 ソフトウェア工学の基礎研究会 (FOSE 2016)
    • 発表場所
      ことひら温泉 琴参閣(香川県仲多度郡琴平町)
    • 年月日
      2016-12-02
    • 関連する報告書
      2016 実績報告書
  • [学会発表] 編集履歴から算出した開発者の関心度に基づくコード補完2016

    • 著者名/発表者名
      Liao Ziyang,丸山 勝久
    • 学会等名
      日本ソフトウェア科学会第33回大会
    • 発表場所
      東北大学片平キャンパス(宮城県仙台市)
    • 年月日
      2016-09-08
    • 関連する報告書
      2016 実績報告書
  • [学会発表] コンポーネントの責務と依存制約に基づくリファクタリング支援2016

    • 著者名/発表者名
      陽 文樹, 林 晋平, 佐伯 元司
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2016 (SES 2016)
    • 発表場所
      東洋大学白山キャンパス(東京都文京区)
    • 年月日
      2016-09-01
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Secure Data Storage Architecture on Cloud Environments2016

    • 著者名/発表者名
      Tran Thi Xuan Trang, Katsuhisa Maruyama
    • 学会等名
      11th International Joint Conference on Software Technologies
    • 発表場所
      Lisbon (Portugal)
    • 年月日
      2016-07-25
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Detecting Invalid Layer Combinations Using Control-Flow Analysis for Android2016

    • 著者名/発表者名
      Noriyuki Suzuki, Tetsuo Kamina, Katsuhisa Maruyama
    • 学会等名
      8th International Workshop on Context-Oriented Programming (COP'16)
    • 発表場所
      Rome (Italy)
    • 年月日
      2016-07-19
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Javaにおける関数型インタフェースの拡張2016

    • 著者名/発表者名
      三宅 皐,丸山 勝久,紙名 哲生
    • 学会等名
      情報処理学会 第193回ソフトウェア工学研究発表会
    • 発表場所
      北海道立道民活動センター(北海道札幌市)
    • 年月日
      2016-07-13
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Context-Based Code Smells Prioritization for Prefactoring2016

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      24th International Conference on Program Comprehension (ICPC 2016)
    • 発表場所
      Austin, Texas (USA)
    • 年月日
      2016-05-16
    • 関連する報告書
      2016 実績報告書
  • [学会発表] Supporting Merge Conflict Resolution by Using Fine-Grained Code Change History2016

    • 著者名/発表者名
      Yuichi Nishimura, Katsuhisa Maruyama
    • 学会等名
      23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER'16)
    • 発表場所
      大阪大学吹田キャンパス(大阪府・吹田市)
    • 年月日
      2016-03-16
    • 関連する報告書
      2015 実績報告書
    • 国際学会
  • [学会発表] 命名方法の関連性に基づく識別子名の一括変更支援2016

    • 著者名/発表者名
      小俣 仁美, 林 晋平, 佐伯 元司
    • 学会等名
      情報処理学会 第191回ソフトウェア工学研究発表会
    • 発表場所
      大阪大学吹田キャンパス(大阪府・吹田市)
    • 年月日
      2016-03-15
    • 関連する報告書
      2015 実績報告書
  • [学会発表] フレームベースリファクタリング ~その概念と意義~2015

    • 著者名/発表者名
      丸山勝久,林晋平,吉田則裕,崔恩瀞
    • 学会等名
      日本ソフトウェア科学会 ソフトウェア工学の基礎研究会 (FOSE2015)
    • 発表場所
      ほほえみの宿 滝の湯(山形県・天童市)
    • 年月日
      2015-11-27
    • 関連する報告書
      2015 実績報告書
  • [学会発表] プログラム編集履歴を用いた版管理システムでの競合解決支援2015

    • 著者名/発表者名
      西村雄一,丸山勝久
    • 学会等名
      日本ソフトウェア科学会第32回大会
    • 発表場所
      早稲田大学西早稲田キャンパス(東京都・新宿区)
    • 年月日
      2015-09-10
    • 関連する報告書
      2015 実績報告書
  • [学会発表] Hierarchical Categorization of Edit Operations for Separately Committing Large Refactoring Results2015

    • 著者名/発表者名
      Jumpei Matsuda, Shinpei Hayashi, Motoshi Saeki
    • 学会等名
      14th International Workshop on Principles of Software Evolution (IWPSE'15)
    • 発表場所
      Bergamo (Italy)
    • 年月日
      2015-08-30
    • 関連する報告書
      2015 実績報告書
    • 国際学会
  • [備考] ChangeMacroRecorder

    • URL

      https://github.com/katsuhisamaruyama/ChangeMacroRecorder

    • 関連する報告書
      2017 実績報告書 2016 実績報告書
  • [備考] PostponableRefactoring

    • URL

      https://github.com/katsuhisamaruyama/PostponableRefactoring

    • 関連する報告書
      2017 実績報告書
  • [備考] MergeHelper

    • URL

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

    • 関連する報告書
      2016 実績報告書 2015 実績報告書
  • [備考] Postponable Refactoring

    • URL

      https://github.com/katsuhisamaruyama/PostponableRefactoring

    • 関連する報告書
      2016 実績報告書
  • [備考] Change Tracker

    • URL

      https://github.com/katsuhisamaruyama/changetracker

    • 関連する報告書
      2015 実績報告書

URL: 

公開日: 2015-04-16   更新日: 2020-03-30  

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

Powered by NII kakenhi