A Study on Fault Localization for Automated Program Repair
Project/Area Number |
20H04166
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 大学院情報科学研究科, 教授 (70452414)
|
Co-Investigator(Kenkyū-buntansha) |
丸山 勝久 立命館大学, 情報理工学部, 教授 (30330012)
松本 真佑 大阪大学, 大学院情報科学研究科, 助教 (90583948)
|
Project Period (FY) |
2020-04-01 – 2024-03-31
|
Project Status |
Completed (Fiscal Year 2023)
|
Budget Amount *help |
¥16,770,000 (Direct Cost: ¥12,900,000、Indirect Cost: ¥3,870,000)
Fiscal Year 2023: ¥3,120,000 (Direct Cost: ¥2,400,000、Indirect Cost: ¥720,000)
Fiscal Year 2022: ¥3,380,000 (Direct Cost: ¥2,600,000、Indirect Cost: ¥780,000)
Fiscal Year 2021: ¥5,200,000 (Direct Cost: ¥4,000,000、Indirect Cost: ¥1,200,000)
Fiscal Year 2020: ¥5,070,000 (Direct Cost: ¥3,900,000、Indirect Cost: ¥1,170,000)
|
Keywords | 欠陥限局 / 自動プログラム修正 / プログラム解析 / テストケース選択 / テストケース重み付け / テストケース生成 / テスト生成 |
Outline of Research at the Start |
自動プログラム修正において利用可能な高精度の欠陥限局技術の開発が本研究の目的である.本研究は以下の2つのサブテーマからなる. A: 与えられたテストが欠陥限局を行うにあたりどの程度十分かを計測する技術を開発する.この技術を既存のテスト自動生成技術と組み合わせることで,欠陥限局を行うのに必要十分なテストケースを得ることができる. B: プログラム内のデータの流れを考慮した欠陥限局手法技術を開発する.この技術を利用することで,さらに高精度で欠陥限局できることが期待される.
|
Outline of Annual Research Achievements |
最終年度は,例外処理を検査するテストに着目し,これらが実行経路に基づく欠陥限局手法の正確さに与える影響を調査した.例外処理は通常の制御フローと切り離されるため,例外処理を検査するテストと通常の制御フローを検査するテストでは実行経路が異なり,実行経路に基づく欠陥限局手法の正確さに大きな影響を与えると考えたためである.実際の開発過程で生じた欠陥とミューテーションツールで人工的に生成した欠陥を対象に調査した.その結果,失敗テストに例外期待を検査するテストが含まれる方が,欠陥箇所の精度がたかくなる傾向にあることがわかった.また,失敗テストに占めるカスタム例外期待テスト(開発者が独自に作った例外クラスを使用したテスト),標準/サードパーティ例外期待テスト(プログラミング言語の標準機能やライブラリに搭載されている例外クラスを使用したテスト)の割合によってSBFLの正確さに与える影響が異なるか調査し,失敗テストが全て標準/サードパーティ例外の場合に特にSBFLの結果が正確であることを確認した.この結果研究成果から,失敗テストに占める例外期待テストの割合によって開発者は欠陥限局の結果が正しい傾向にあるか判断できるようになり,デバッグ作業のさらなる効率化が期待される. また,前年度までに自動生成テストツールにより生成されたテストケースを開発者が作成したテストケースに加えることにより欠陥限局の精度を上げる試みを行ってきたが,そもそも自動テスト生成ツールでうまくテストを生成できない状況が存在するということが明らかになった.そのため,最終年度は,その原因の調査も行った.調査の結果,テスト生成ツールが生成したテストケースが不十分になってしまう原因は4つのパターンに分類できることを発見した.また,これらのパターンに対しうまくテストケースを生成できない原因を解決する方法が存在するか考察した.
|
Research Progress Status |
令和5年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
令和5年度が最終年度であるため、記入しない。
|
Report
(4 results)
Research Products
(46 results)