Supporting program change understanding based on source code edit history
Project/Area Number |
20K11762
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Ritsumeikan University |
Principal Investigator |
大森 隆行 立命館大学, 情報理工学部, 准教授 (90532903)
|
Project Period (FY) |
2020-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥2,990,000 (Direct Cost: ¥2,300,000、Indirect Cost: ¥690,000)
Fiscal Year 2022: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2021: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2020: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
|
Keywords | 操作履歴グラフ / ソフトウェア進化 / プログラム変更理解 / 視覚化 / 統合開発環境 / 細粒度変更 / プログラム理解 / ソフトウェア開発支援 |
Outline of Research at the Start |
ソフトウェアを効率よく、誤りなく開発するため、開発者が行った操作の履歴に基づく開発支援手法について研究を行う。特に、変更履歴理解のために、履歴はどのような情報を含むべきか、それらの情報をいかに獲得するか、変更そのものをどのように保管・提示するべきかを明らかにする。 初年度においては基盤となる履歴のグラフ表現についての研究を進める。その後、履歴の視覚化や要約といった支援手法の研究を行う。
|
Outline of Annual Research Achievements |
【操作履歴グラフの実装とリファクタリング理解支援】今年度は、操作履歴グラフの実装改善を進めた。これにより、与えられたテストケースに対して誤りなくグラフを生成できるようになった。このように実現した最新版の操作履歴グラフFOHGを用いて、過去に行われたリファクタリング操作の理解支援が可能かどうかを検討した。結果として、自動リファクタリングに関しては、既存の操作履歴に基づく検出手法と比べて多くの種類を検出可能であることを確認した。手動リファクタリングに関しては、構文要素のカットアンドペーストやトークンの一部変更が行われた時に生成されるエッジを利用することでMoveやRenameを中心としたリファクタリングの理解支援が可能であることを確認した。この成果を国内論文誌において発表した。 【柔軟な視覚化機構を備えたコード変更再生器の構築】FOHGが持つ構文要素の移動や変更を示すエッジの情報を用いて、操作履歴再生器OperationReplayerの機能拡張を行った。より具体的には、操作履歴データにFOHGのエッジ情報を示すアノテーションを加え、OperationReplayerでこれを読み込み可能とした。さらに、アノテーション情報を従来の操作履歴情報に加えて表示できるよう、機能拡張を行った。OperationReplayerの視覚化機構であるタイムラインバー上での情報表示や、再生対象の絞り込みの際にもこのアノテーション情報を利用できる。この成果を国内学会において発表した。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
昨年度から進めてきたFOHGの実装は完了したが、昨年度までの実装の遅れに加えて、今年度は所属機関異動の必要性が生じ、研究に使える時間が減ったため、引き続き、計画からはやや遅れている。現時点で未達成である履歴要約の生成やリファクタリング以外の操作パターン検出に関してはすでに検討を進めており、大きな遅れではないと考える。
|
Strategy for Future Research Activity |
3年間で達成できなかった当初目標の達成のため、1年間事業期間を延長する。 具体的には、操作履歴グラフが持つ情報に基づく変更履歴要約の生成、リファクタリング以外の編集パターンの検出、今年度実現したOperationReplayerの拡張の評価実験が残されている。変更履歴要約生成や編集パターンの検出においては、適切な履歴理解のシチュエーションの想定に基づいて手法を洗練していくことが必要だと考えられる。特に、要約生成に関しては、これまでに構文要素やグラフのエッジの生成・削除イベントに基づく手法を考案したが、履歴理解において不要な情報が数多く含まれることが問題点であった。今後はこの課題の解決に向けて手法を改善する。
|
Report
(3 results)
Research Products
(6 results)