2021 Fiscal Year Research-status Report
Autorepairability: creating and disseminating a new software quality indicator
Project/Area Number |
21K18302
|
Research Institution | Osaka University |
Principal Investigator |
肥後 芳樹 大阪大学, 情報科学研究科, 准教授 (70452414)
|
Co-Investigator(Kenkyū-buntansha) |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑 大阪大学, 情報科学研究科, 助教 (90583948)
|
Project Period (FY) |
2021-07-09 – 2025-03-31
|
Keywords | 自動プログラム修正 / ミューテーションテスティング / テスト自動生成 / 自動修正適合性 |
Outline of Annual Research Achievements |
2021年度はまず自動修正適合性を定義し,ソースコードのミューテーション技術を利用した自動修正適合性の計測手法を提案した.ミューテーション技術を利用して人工的なバグを含むソースコードを大量に生成し,その人工的なバグのうちどの程度を自動プログラム修正技術によって修正できたかを計測することにより,自動で人間の主観を入れることなく計測することができる.さらに,この計測手法の有効性を確かめるために,機能が等価であるがその構造が異なるJavaのメソッドのペアを数個用意し,それらの自動修正適合性を計測することにより,ソースコードの構造が自動プログラム修正技術によるバグ修正の成否に影響を与えうることを示した.また,この実験結果から,人間にとって良いとされているプログラム構造(「ネストが深くない」や「分岐が少ない」等)が必ずしも,自動プログラム修正にとっては良いとはいえないことがわかった.つまり,人間にとって扱いやすいプログラムは必ずしも機械にとって扱いやすいとは限らず,機械にバグ修正をさせるためには機械がバグ修正をしやすいようにソースコードを記述する必要があるかもしれないことがこの実験結果から伺えた. 2021年度の後半より,自動修正適合性の評価をするためのデータセットの構築についても準備を始めた.具体的には,同じ入力(引数)に対しては同じ出力(返値)を返すJavaのメソッド群をオープンソースソフトウェアから自動的に抽出する枠組みを構築している.これまでに,規模の小さいデータセットを試作して自動修正適合性の評価に使えるかを確かめるところまでは完了した.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
当初の予定通り,2021年度はソースコードのミューテーション技術を利用した自動修正適合性の計測手法を考案し,その有用性を示すことができた. また,自動修正適合性の評価のためのデータセットについても構築をはじめており,研究は順調に進んでいる. 新型コロナウイルスのため,成果発表が対面ではなくオンラインになってしまったが,研究の遂行に影響を与えるまでではない. 現在のところ,想定していなかった問題は起こっていない.
|
Strategy for Future Research Activity |
2022年度については,2021年度の後半より開始したデータセットの構築を大規模なオープンソースソフトウェア群について行う.このデータセットの構築手順にはテストの自動生成や生成したテストを大量のメソッド群に対して実行する処理が含まれており,素直に全ての処理を行ってしまってはデータセットの構築ができない.そのため,うまく必要の無い処理を間引く経験則を導出する必要がある.この効率的なデータセットの構築と構築したデータセットの公開が2022年度の第一のタスクとして挙げられる. さらに,構築したデータセットに対して,2021年度に提案した自動修正適合性の自動計測手法を適用し,ソースコードの構造と自動プログラム修正技術の関連性についての調査を始める.現時点でデータセットに含まれるメソッドの数が読めないため,このタスクが2022年度中に終了できるかは不明である.遅くとも2023年度の上半期までには終了したい.
|
Causes of Carryover |
新型コロナウイルスの影響により,国際会議での発表を次年度に持ち越すことを決めたため,旅費を一部繰り越した. 半導体不足により,高性能計算機の購入を少し先延ばししたため,物品費を一部繰り越しした.
|
Research Products
(7 results)