2021 Fiscal Year Annual Research Report
機械がバグを修正する時代―擬似オラクル生成・適用と自動バグ修正技術の深化
Project/Area Number |
21H04877
|
Research Institution | Kyushu University |
Principal Investigator |
亀井 靖高 九州大学, システム情報科学研究院, 准教授 (10610222)
|
Co-Investigator(Kenkyū-buntansha) |
馬 雷 九州大学, システム情報科学研究院, 准教授 (70842061)
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
松本 真佑 大阪大学, 大学院情報科学研究科, 助教 (90583948)
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
|
Project Period (FY) |
2021-04-05 – 2025-03-31
|
Keywords | 自動プログラム修正 / テストスイート / 自動生成 / 開発コンテキスト |
Outline of Annual Research Achievements |
2021年度については,大きく3つのことに取り組んだ. A. 実験データの収集. 今後の実験を大規模化しやすくするために,(1) Javaシステムを用いていること,(2) ビルドシステムとしてMavenを用いていること,(3) テストフレームワークとしてJUnitを用いていること,(4) システムの構成にサブプロジェクトを用いていないこと,をプロジェクト選定の条件に設けた.Commons-IOやSpringといった計8つのプロジェクトから,約12,000リビジョンを収集できた.それぞれのリビジョンに対してビルド,及び,テストを実行し,テスト結果の成否を保存した.なお,ビルドやテストの実行には時間を要するため,解析用の分散実行環境を構築した. B. 欠陥限局の高度化. 得られた成果としては,例えば,(a) テストコード側に含まれる動的スメルの検出技術の確立,(b)情報検索ベースによる欠陥限局の分析,(c)JavaScriptに対するバグ限局ツールの試作,テストの実行経路と自動プログラム修正に与える影響の分析,などがあげられる. C. 欠陥の種類を広げることにも取り組んだ. 今年度は,非機能要件である性能に関する欠陥に注目して分析を行った.性能の欠陥はソフトウェア開発者にとっては原因箇所が見つけづらく,そのソフトウェアの利用者にとっては影響が大きいためである.性能に関する欠陥の修正コミットから原因箇所を追跡し,目視分類によって追跡結果の成否を確かめた.また,自動修復技術としては,Deep neural networks (DNNs) を運用環境下で修復するためのデータ増強法を提案し,15種類の故障パターンに対して従来法よりも高い修復性能を達成した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
分散実行環境を構築し,プログラム自動修正に関するビルド実行,欠陥限局,パッチ生成,及び,テスト実行を行うことができるようになった.自動バグ修正の要の1つである欠陥限局の高度化も計画通り進められている.また,それぞれの研究成果は研究会や国際会議において発表できており,さらには一部の成果は,論文誌としても採録されている.そのため,研究の進捗として順調に進展していると考える.
|
Strategy for Future Research Activity |
現在までの進捗状況は,おおむね順調に進展している.擬似オラクルの生成を実現するため,今年度取り組んだテストの実行経路と自動プログラム修正に与える影響の分析を深堀りする予定である.また,今年度でも行ったように,今後も国内外の研究会に積極的に参加し(オンライン開催を含む),多面的に意見を取り入れることで問題の早期解決を目指す.
|