研究課題/領域番号 |
21K18302
|
研究機関 | 大阪大学 |
研究代表者 |
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
|
研究分担者 |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑 大阪大学, 大学院情報科学研究科, 助教 (90583948)
|
研究期間 (年度) |
2021-07-09 – 2025-03-31
|
キーワード | 自動プログラム修正 / ミューテーションテスティング / 大規模言語モデル / コードクローン |
研究実績の概要 |
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年度については,より大規模な実験をさまざまなモデルを利用して行う. また,自動修正適合性がソースコードのバグ修正や機能追加でどのように変遷していくのかについても調査を行う予定である.これにより,自動修正適合性という品質指標の観点からソフトウェア進化を評価することができると考えている.
|
次年度使用額が生じた理由 |
2023年度下期に購入予定だった実験用ワークステーションの購入が2024年度にずれ込んでしまったため.また,2024年度下期に国際会議で発表予定だったが,急遽別の国際会議に出すことになりそれが2024年5月に開催であるため.
|