潜在バグの発見・修正を可能とする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 2022)
|
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 | バグ予測 / バグ修正 / コーディング支援 / 機械学習 / 深層学習 / 潜在バグ / Just-in-time自動バグ修正 / リポジトリマイニング |
Outline of Research at the Start |
テストケースの不足により見逃されたバグ(潜在バグ)をソースコードの変更時(Just-in-time)に自動的に特定・修正する技術を開発する.既存の自動バグ修正は,失敗するテストケースがない潜在バグを修正できない.そこで,潜在バグを特定できるバグ予測を活用し,潜在バグにより失敗するテストケースを自動生成する.自動バグ修正を変更時点(Just-in-time)で行うことで,潜在バグを早期に修正し,かつ,変更情報を活用することでより多くの潜在バグに対応する.本研究課題の完遂により,変更が行われた時点で潜在バグを自動的に特定・修正でき,開発者支援と当該研究の発展に貢献する.
|
Outline of Annual Research Achievements |
ソフトウェア工学における重要課題の1つに,ソフトウェアのバグ修正の効率化が挙げられる.本研究課題では,そういったバグを見つけ自動修正する手法を提案することを目指している.一方で,バグを見つける手法や自動修正する手法は未だ研究途上であり,様々な課題が存在する.そのため,様々な角度から手法の可能性を探っていく必要がある.初年度は以下に示すように広くテーマを設定し研究に取り組んだ.
1) バグ予測手法の深化:バグ予測手法は本研究課題における重要な構成要素である.自動バグ修正へと繋げるため,クラス単位や行単位といった細粒度での予測を行うための手法の提案,評価を行った.また,そのほかにもバグ予測に関連する調査・研究をおこなった. 2) バグ修正手法の深化:実行経路を考慮した自動バグ修正,機械学習・深層学習手法を用いた自動バグ修正など,本研究の達成に必要な技術の評価・提案をおこなった.また,提案書には明記していなかったが,昨今の機械学習・深層学習モデルの精度向上およびその応用範囲の拡大から,機械学習・深層学習モデルもソフトウェアの一種と見做し,そこに含まれるバグの修正を行うことを目指した研究をおこなった. 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
本研究では特にバグ予測手法およびバグ修正手法が重要である.初年度はそれらについて様々な観点からの提案・評価を行うことができた.また,当初の予定では明示されていなかったが,機械学習・深層学習モデルという今後我々の生活に必要不可欠となるであろう要素もソフトウェアの一種と見做し,バグの修正について検討を行うことができた.評価において,既存の細粒度でのバグ予測の予測性能の向上が必要なことや,機械学習・深層学習手法におけるバグ修正手法の可能性があることなどがわかった.
|
Strategy for Future Research Activity |
当初の予定通り進める.なお,ChatGPTを含む大規模言語モデルの発展が顕著であることから,これらのツールについてもより深い検討を行う.実際に今年度も一部検討を行ったが,バグ修正手法の一種としての可能性があることがわかってきている.まだその性能について完全には把握できていないが,本研究課題のどの部分を代替でき,どの部分は代替できないのか?また,大規模言語モデルの登場は本研究課題にどのような影響を与えるのかについても検討していきたい.さらに,量子コンピュータ上での量子ソフトウェアも今後検討が必要な分野であると考えている.量子ソフトウェアにおけるバグを定義し,それを修正する手法についても今後研究していきたい.
|
Report
(1 results)
Research Products
(16 results)