著者
渡辺 大登 柗本 真佑 肥後 芳樹 楠本 真二 倉林 利行 切貫 弘之 丹野 治門
雑誌
情報処理学会論文誌 (ISSN:18827764)
巻号頁・発行日
vol.63, no.10, pp.1564-1573, 2022-10-15

自動プログラム生成(APG)の実現を目指し,生成と検証に基づく自動プログラム修正(APR)を転用した手法が提案されている.APRはバグを含むソースコードをすべてのテストケースに通過するように全自動で改変する技術である.APRを転用したAPGでは,初期状態のソースコードを未実装,つまり複数のバグが含まれていると仮定し,ソースコードの改変,評価,選択を繰り返してソースコードを目的の状態に近づけていく.一般的なAPRでは改変ソースコードの評価指標として,テストケース通過数がよく用いられる.この指標は単一バグの修正を目的とした場合には問題にならないが,複数バグの修正時にはコード評価の表現能力不足という問題につながる.よって,初期状態に複数バグの存在を仮定するAPGにおいては,解決すべき重要な課題である.そこで,本研究ではAPGの成功率改善を目的とした多目的遺伝的アルゴリズムの適用を提案する.また,多目的遺伝的アルゴリズムによる高い個体評価の表現能力を利用した,相補的なテスト結果の2個体を選択的に交叉する手法も提案する.評価実験として,プログラミングコンテストの問題80問を題材に提案手法の効果を確かめた結果,成功率の有意な向上を確認した.