Project/Area Number |
21K18302
|
Research Category |
Grant-in-Aid for Challenging Research (Pioneering)
|
Allocation Type | Multi-year Fund |
Review Section |
Medium-sized Section 60:Information science, computer engineering, and related fields
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
|
Co-Investigator(Kenkyū-buntansha) |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑 大阪大学, 大学院情報科学研究科, 助教 (90583948)
|
Project Period (FY) |
2021-07-09 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥24,440,000 (Direct Cost: ¥18,800,000、Indirect Cost: ¥5,640,000)
Fiscal Year 2024: ¥4,550,000 (Direct Cost: ¥3,500,000、Indirect Cost: ¥1,050,000)
Fiscal Year 2023: ¥4,940,000 (Direct Cost: ¥3,800,000、Indirect Cost: ¥1,140,000)
Fiscal Year 2022: ¥7,670,000 (Direct Cost: ¥5,900,000、Indirect Cost: ¥1,770,000)
Fiscal Year 2021: ¥7,280,000 (Direct Cost: ¥5,600,000、Indirect Cost: ¥1,680,000)
|
Keywords | 自動プログラム修正 / ミューテーションテスティング / 大規模言語モデル / コードクローン / プログラム解析 / 自動修正適合性 / テスト自動生成 / ソフトウェア品質 / 欠陥限局 |
Outline of Research at the Start |
本研究で提案する自動修正適合性とは,対象ソフトウェアとAPR技術との親和性を表すソフトウェアの新しい品質指標である.自動修正適合性に関して,本研究では以下の三項目に取り組む.項目Aではソースコードの実装方法がAPRの成功/失敗に影響があることを明らかにする.項目Bではバグの特徴に基づいて自動修正適合性を自動計測する手法を考案する.項目Cでは自動修正適合性が低いプログラムを高いプログラムへと自動変換する手法を考案する.
|
Outline of Annual Research Achievements |
2023年度は,2022年度に作成した大規模な機能等価メソッドのデータベースを利用して,大規模言語モデルに基づくコードクローン検出技術の検出精度向上に取り組んだ.大規模言語モデルを用いたコードクローン検出は,構文的な類似度が低いコードクローンに対して従来の検出技術よりも高い精度での検出ができることが知られている.しかしながら,GPT-3.5-turboやGPT-4では,構文的な類似度が低いコードクローンの精度が十分に高いとはいえない.またLlama2ではほぼ全てのメソッドペアをコードクローンとして判断してしまっているのが現状である.そこで,本研究ではこれらの大規模言語モデルに対して,機能等価メソッドをファインチューニングに用いることにより,コードクローンの検出精度向上を試みた.その結果,GPT-3.5-turboについては,誤検出は減ったが検出漏れが増えた.また,Llama2についても同様の傾向が見られ,全体の検出精度が向上したことが確認できた. また,この機能等価メソッドデータベースを利用して自動修正適合性の計測も行った.機能等価なメソッドペアの両者に対して自動修正適合性を計測し,どのような場合にその値が異なるのかを調査した.その結果,Java言語については,if文を連続して書くよりは三項演算子を使うことで値が高くなることや,簡単な条件を持つif文を複数書くよりはそれらの条件を1つにした(条件が複雑になった)if文を1つだけ記述する方が値が高くなること等がわかった.この実験結果から,どのように人間がプログラムを記述すれば,自動プログラム修正技術によってバグ修正が行いやすくなるのかをある程度明らかにすることができた.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
特に問題は起こっておらず,研究は順調に進んでいる.
|
Strategy for Future Research Activity |
2024年度については,CやPythonについても機能等価なメソッド/関数のデータベースについて取り組む予定である.そして作成したデータベースはGitHub等で公開し,他の研究者もこのデータベースを利用できるようにする. また,2023年度に実施した大規模言語モデルを利用したコードクローン検出技術を機能等価メソッドデータベースを利用して精度向上する試みはまだ実験の規模が小さく,十分な成果が出ているとはいえない.2024年度については,より大規模な実験をさまざまなモデルを利用して行う. また,自動修正適合性がソースコードのバグ修正や機能追加でどのように変遷していくのかについても調査を行う予定である.これにより,自動修正適合性という品質指標の観点からソフトウェア進化を評価することができると考えている.
|