研究課題/領域番号 |
22H03567
|
配分区分 | 補助金 |
研究機関 | 東京工業大学 |
研究代表者 |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
|
研究分担者 |
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
小林 隆志 東京工業大学, 情報理工学院, 教授 (50345386)
丸山 勝久 立命館大学, 情報理工学部, 教授 (30330012)
|
研究期間 (年度) |
2022-04-01 – 2026-03-31
|
キーワード | ソフトウェア進化 / リファクタリング / アノテーション / 進化コーパス |
研究実績の概要 |
本研究は,リファクタリング等の類型化可能なプログラム変換の多くを表現可能な進化コーパスを作成し,ソフトウェア自動進化技術の適用可能範囲,進化分析技術の妥当性を改善させることを目指すものである.令和4年度では,主に以下の成果を得た.(1)アノテーションのスキーマおよび進化オペレータの概念階層の基礎検討を行った.また,これに基づきリファクタリング事例の検索エンジンを試作した.この検索エンジンは,複数のリファクタリング検出ツールの検出結果に対して,リファクタリングの特徴やリファクタリングが含まれるコミットの特徴に基づくクエリを用いて事例を検索できる.(2)アノテーション付き進化コーパスの構築のため,リファクタリングを自認しているコミットをコミットメッセージから自動特定し,収集した.具体的には,コミットメッセージの規約であるConventional Commitsに従っているGitHubリポジトリを特定し,それに含まれるコミットのうちリファクタリングと分類されたものを収集した.(3)アノテーション候補コミットを効率よく得るため,グラフニューラルネットワークに基づきリファクタリングコミットを識別する手法のプロトタイプを開発した.この手法では,リファクタリングを含むコミットが表現する変更を抽象構文木の差分に基づく編集スクリプトで表現し,その特徴を学習することにより分類モデルを作成する.(4)リファクタリングやバグ修正などの変更の適用支援,推薦,合成,分析技術の開発を行った.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本研究は,リファクタリング等のプログラム変換を表現可能な進化コーパスの作成及びその応用を目指している.令和4年度では,その初歩となる,アノテーションのスキーマの基礎検討を行い,またその内容に基づきリファクタリング事例の検索エンジンの試作を行っている.また,リファクタリング事例を効率よく収集するためのリファクタリングコミット識別手法の開発も進んでいる.
|
今後の研究の推進方策 |
令和5年度では,令和4年度に設計した進化オペレータのアノテーションスキーマを,多くのリファクタリング操作を表現可能になるようより洗練させる.また,アノテーションツールの開発を進め,リファクタリング操作に対するアノテーションの実施を進める.その際には,類似する変更を効率よく特定できるよう,また様々な変更意図が混在した複雑な変更に対してもアノテーションが行えるよう工夫する.さらに,アノテーション候補を自動で特定するための変更のマッチング技術の開発も進める.
|