研究課題/領域番号 |
21K18302
|
研究種目 |
挑戦的研究(開拓)
|
配分区分 | 基金 |
審査区分 |
中区分60:情報科学、情報工学およびその関連分野
|
研究機関 | 大阪大学 |
研究代表者 |
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
|
研究分担者 |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑 大阪大学, 大学院情報科学研究科, 助教 (90583948)
|
研究期間 (年度) |
2021-07-09 – 2025-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
24,440千円 (直接経費: 18,800千円、間接経費: 5,640千円)
2024年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2023年度: 4,940千円 (直接経費: 3,800千円、間接経費: 1,140千円)
2022年度: 7,670千円 (直接経費: 5,900千円、間接経費: 1,770千円)
2021年度: 7,280千円 (直接経費: 5,600千円、間接経費: 1,680千円)
|
キーワード | 自動プログラム修正 / ミューテーションテスティング / 大規模言語モデル / コードクローン / プログラム解析 / 自動修正適合性 / テスト自動生成 / ソフトウェア品質 / 欠陥限局 |
研究開始時の研究の概要 |
本研究で提案する自動修正適合性とは,対象ソフトウェアとAPR技術との親和性を表すソフトウェアの新しい品質指標である.自動修正適合性に関して,本研究では以下の三項目に取り組む.項目Aではソースコードの実装方法がAPRの成功/失敗に影響があることを明らかにする.項目Bではバグの特徴に基づいて自動修正適合性を自動計測する手法を考案する.項目Cでは自動修正適合性が低いプログラムを高いプログラムへと自動変換する手法を考案する.
|
研究実績の概要 |
2023年度は,2022年度に作成した大規模な機能等価メソッドのデータベースを利用して,大規模言語モデルに基づくコードクローン検出技術の検出精度向上に取り組んだ.大規模言語モデルを用いたコードクローン検出は,構文的な類似度が低いコードクローンに対して従来の検出技術よりも高い精度での検出ができることが知られている.しかしながら,GPT-3.5-turboやGPT-4では,構文的な類似度が低いコードクローンの精度が十分に高いとはいえない.またLlama2ではほぼ全てのメソッドペアをコードクローンとして判断してしまっているのが現状である.そこで,本研究ではこれらの大規模言語モデルに対して,機能等価メソッドをファインチューニングに用いることにより,コードクローンの検出精度向上を試みた.その結果,GPT-3.5-turboについては,誤検出は減ったが検出漏れが増えた.また,Llama2についても同様の傾向が見られ,全体の検出精度が向上したことが確認できた. また,この機能等価メソッドデータベースを利用して自動修正適合性の計測も行った.機能等価なメソッドペアの両者に対して自動修正適合性を計測し,どのような場合にその値が異なるのかを調査した.その結果,Java言語については,if文を連続して書くよりは三項演算子を使うことで値が高くなることや,簡単な条件を持つif文を複数書くよりはそれらの条件を1つにした(条件が複雑になった)if文を1つだけ記述する方が値が高くなること等がわかった.この実験結果から,どのように人間がプログラムを記述すれば,自動プログラム修正技術によってバグ修正が行いやすくなるのかをある程度明らかにすることができた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
特に問題は起こっておらず,研究は順調に進んでいる.
|
今後の研究の推進方策 |
2024年度については,CやPythonについても機能等価なメソッド/関数のデータベースについて取り組む予定である.そして作成したデータベースはGitHub等で公開し,他の研究者もこのデータベースを利用できるようにする. また,2023年度に実施した大規模言語モデルを利用したコードクローン検出技術を機能等価メソッドデータベースを利用して精度向上する試みはまだ実験の規模が小さく,十分な成果が出ているとはいえない.2024年度については,より大規模な実験をさまざまなモデルを利用して行う. また,自動修正適合性がソースコードのバグ修正や機能追加でどのように変遷していくのかについても調査を行う予定である.これにより,自動修正適合性という品質指標の観点からソフトウェア進化を評価することができると考えている.
|