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

2021 年度 実施状況報告書

ソースコード編集履歴に基づくプログラム変更理解支援技術

研究課題

研究課題/領域番号 20K11762
研究機関立命館大学

研究代表者

大森 隆行  立命館大学, 情報理工学部, 准教授 (90532903)

研究期間 (年度) 2020-04-01 – 2023-03-31
キーワード操作履歴グラフ / ソフトウェア進化 / プログラム変更理解 / 視覚化 / 統合開発環境 / 細粒度変更 / プログラム理解 / ソフトウェア開発支援
研究実績の概要

2022年度は、統合開発環境上で開発者が行ったソースコード編集操作の履歴を活用した操作履歴グラフの実装を中心に進めた。これに基づき、操作パターン(特にリファクタリング)の検出を試みた。
【操作履歴グラフの実装とリファクタリング検出】操作履歴グラフOHG (Operation History Graph) を、構文木 (AST) 全体の情報を保持できるように拡張したfOHG (Full-version OHG) についての研究を進めた。fOHGによって、OHGでは表現できなかったメソッド内部の編集を表現可能となった。また、fOHGでは、将来の拡張のためにノードに属性を追加する仕組みを導入した。fOHGにより、開発中に適用されたリファクタリング操作に関して、どこにどのような編集が行われたのかを漏れなく理解することができるようになった。fOHGを用いたリファクタリング検出の評価実験により、Rename、Move、Extract等の代表的なリファクタリングに関して、正確な検出が可能であることを確認した。特に、自動リファクタリング適用の検出に関しては、既存の編集履歴に基づく手法よりも多くの種類のリファクタリングを検出可能であることを確認した。
【編集履歴視覚化によるタスク理解支援】ソースコード編集操作履歴の概略把握を支援する手法について研究を進めた。編集履歴から得られる編集対象 (クラス・メソッド) の変遷や、特定の種類の操作 (デバッグ操作・コミット操作) がいつ行われたのかを把握することを支援する視覚化ツールEMH (Edited Method Highlight) に関して、国際会議での発表を行った。

現在までの達成度 (区分)
現在までの達成度 (区分)

3: やや遅れている

理由

2021年度終了時点でfOHGの実装の大部分が完成しており、今年度は実装の完了、リファクタリング検出実験と進めてきたが、この過程で、特定の編集パターンが入力として与えられた時にグラフを正しく生成できないことが判明したため、再実装が必要となった。fOHGでは、入力する編集操作履歴に含まれる操作の種類等によって出力するべき変更情報が変わるため、従来のプログラム変更検出手法より複雑な実装となり、実装に要する時間の見積もりを大幅に超過することとなった。
しかしながら、すでに多くのリファクタリングに関して、問題なく検出可能であることを確認済みであり、さらに、2022年度に取り組むことを予定していた柔軟な視覚化機構を備えたコード変更再生器の構築にもEMHの実装・実験を通して部分的に取り掛かっていることから、大きな遅れではないと考える。

今後の研究の推進方策

まず、これまでに進めてきたfOHGの実装と、自動リファクタリング検出、手動リファクタリング検出に関する評価実験を完了させる。fOHGの実装上の課題により遅れが拡大する場合には、入力となる編集履歴に制約を設け、可能な部分について先行して成果発表を行うことも考えられる。
その後、当初の予定通り、理解性の高い変更履歴要約の生成、柔軟な視覚化機構を備えたコード変更再生器の構築に取り組む。fOHGを用いることで、プログラム変更の過程で各構文要素がどのように変化してきたのかを容易に把握することができるようになるため、様々な変更履歴理解の目的に応じたクエリを生成し、理解支援する手法を考えている。

次年度使用額が生じた理由

当初予定より論文投稿が遅れたこと、新型コロナウイルス感染症の影響により会議参加費用(旅費)が不要となったため、次年度使用額が生じた。
国際会議への参加、業績発表を増やすことで使用する予定である。

  • 研究成果

    (2件)

すべて 2021

すべて 学会発表 (2件) (うち国際学会 1件)

  • [学会発表] Supporting Software Development Task Understanding by Visualizing Operation History2021

    • 著者名/発表者名
      Omori Takayuki, Ohnishi Atsushi
    • 学会等名
      Proceedings of the 18th IEEE/ACIS International Virtual Conference on Software Engineering, Management and Applications
    • 国際学会
  • [学会発表] リファクタリング検出のための拡張操作履歴グラフ2021

    • 著者名/発表者名
      大森隆行、大西淳
    • 学会等名
      ソフトウェア工学の基礎XXVIII 日本ソフトウェア科学会FOSE2021

URL: 

公開日: 2022-12-28  

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

Powered by NII kakenhi