潜在バグの発見・修正を可能とするJust-in-time自動バグ修正の提案
Project/Area Number |
22K17874
|
Research Category |
Grant-in-Aid for Early-Career Scientists
|
Allocation Type | Multi-year Fund |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Kyushu University |
Principal Investigator |
近藤 将成 九州大学, システム情報科学研究院, 助教 (10907017)
|
Project Period (FY) |
2022-04-01 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥4,550,000 (Direct Cost: ¥3,500,000、Indirect Cost: ¥1,050,000)
Fiscal Year 2024: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2023: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
Fiscal Year 2022: ¥1,560,000 (Direct Cost: ¥1,200,000、Indirect Cost: ¥360,000)
|
Keywords | バグ予測 / バグ修正 / コーディング支援 / 機械学習 / 深層学習 / LLM / プロンプトエンジニアリング / 潜在バグ / Just-in-time自動バグ修正 / リポジトリマイニング |
Outline of Research at the Start |
テストケースの不足により見逃されたバグ(潜在バグ)をソースコードの変更時(Just-in-time)に自動的に特定・修正する技術を開発する.既存の自動バグ修正は,失敗するテストケースがない潜在バグを修正できない.そこで,潜在バグを特定できるバグ予測を活用し,潜在バグにより失敗するテストケースを自動生成する.自動バグ修正を変更時点(Just-in-time)で行うことで,潜在バグを早期に修正し,かつ,変更情報を活用することでより多くの潜在バグに対応する.本研究課題の完遂により,変更が行われた時点で潜在バグを自動的に特定・修正でき,開発者支援と当該研究の発展に貢献する.
|
Outline of Annual Research Achievements |
ソフトウェア工学における重要課題の1つに,ソフトウェアのバグ修正の効率化が挙げられる.本研究課題では,そういったバグを見つけ自動修正する手法を提案することを目指している.初年度は様々な角度から手法の可能性を探った.今年度はそれらの手法の調査を引き続き行った.その中で,各手法の応用範囲についての知見を蓄積することができた.具体的な手法は昨年と同様以下である.
1) バグ予測手法の深化:バグ予測手法は本研究課題における重要な構成要素である.自動バグ修正へと繋げるため,行単位といった細粒度での予測を行うための手法の提案,評価を行った.また,動的実行情報を考慮したバグ予測手法について提案を行った.さらに,バグデータの品質向上に向けたバグデータ発見手法の強化を行なった. 2) バグ修正手法の深化:近年の大規模言語モデル(LLM)の発展から,LLMのバグ修正への応用可能性について調査を行った.LLMはまだ新しい技術であることから,入力ごとの出力の変化や,応用範囲の限界,出力にバイアスを与える要素について調査を行った. 3) 開発者のコーディング支援の深化:あらゆる潜在バグを予測することは困難であることから,潜在バグそのものの発生を抑止することも重要である.その観点から,開発者がコーディング段階でバグを含まなくて良くなるような支援手法についても研究をおこなった.初期調査としてコンパイルエラーに着目し,コーディング段階でコンパイルエラーを自動で修正できるか調査した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究では特にバグ予測手法およびバグ修正手法が重要である.初年度に引き続き今年度もそれらについて様々な観点からの提案・評価を行うことができた.特に動的情報を活用したバグ予測手法について提案を行うことができた.また,研究の推進方策として昨年度に定めた通り,バグ修正手法としてLLMの活用について調査を行うことができた.LLMはまだ新しい技術であることから明らかでないことも多いが,バグ修正という観点で幅広く評価を実施し,本研究での活用について模索することができた.さらに,本研究において最も重要なバグデータの品質向上のための手法を提案・評価することができた.最後に,品質保証を行う対象ドメインとして量子ソフトウェア・動画によるバグ報告を加えるなど,本研究の応用先の横展開を行った.
|
Strategy for Future Research Activity |
当初の予定通り進める.特にLLMの性能の高さから,LLMの応用可能性について引き続き調査を継続し,手法の提案を目指す.また,バグデータの品質向上について引き続き研究を継続していく.バグデータは本研究の基幹データであり,その品質は研究全体の品質に直結する.さらに品質保証対象となるソフトウェアの範囲拡張も引き続き行い,本研究成果の応用範囲の拡大を目指す.特に,動画におけるバグの自動発見・修正を研究範囲に入れる.近年,動画による情報伝達の重要性がましていることから,動画から自動的にバグを見つける手法の研究が行われ始めており,本研究も動画への応用について模索する.
|
Report
(2 results)
Research Products
(33 results)