@article{oai:ipsj.ixsq.nii.ac.jp:00220343, author = {渡辺, 大登 and 柗本, 真佑 and 肥後, 芳樹 and 楠本, 真二 and 倉林, 利行 and 切貫, 弘之 and 丹野, 治門 and Hiroto, Watanabe and Shinsuke, Matsumoto and Yoshiki, Higo and Shinji, Kusumoto and Toshiyuki, Kurabayashi and Hiroyuki, Kirinuki and Haruto, Tanno}, issue = {10}, journal = {情報処理学会論文誌}, month = {Oct}, note = {自動プログラム生成(APG)の実現を目指し,生成と検証に基づく自動プログラム修正(APR)を転用した手法が提案されている.APRはバグを含むソースコードをすべてのテストケースに通過するように全自動で改変する技術である.APRを転用したAPGでは,初期状態のソースコードを未実装,つまり複数のバグが含まれていると仮定し,ソースコードの改変,評価,選択を繰り返してソースコードを目的の状態に近づけていく.一般的なAPRでは改変ソースコードの評価指標として,テストケース通過数がよく用いられる.この指標は単一バグの修正を目的とした場合には問題にならないが,複数バグの修正時にはコード評価の表現能力不足という問題につながる.よって,初期状態に複数バグの存在を仮定するAPGにおいては,解決すべき重要な課題である.そこで,本研究ではAPGの成功率改善を目的とした多目的遺伝的アルゴリズムの適用を提案する.また,多目的遺伝的アルゴリズムによる高い個体評価の表現能力を利用した,相補的なテスト結果の2個体を選択的に交叉する手法も提案する.評価実験として,プログラミングコンテストの問題80問を題材に提案手法の効果を確かめた結果,成功率の有意な向上を確認した., Automated program generation (APG) is a concept of automatically making a computer program. Toward this goal, transferring automated program repair (APR) to APG can be considered. APR modifies the buggy input source code to pass all test cases. APR-based APG regards empty source code as initially failing all test cases, i.e., containing multiple bugs. Search-based APR repeatedly generates program variants and evaluates them. Many traditional search-based APR systems evaluate the fitness of variants based on the number of passing test cases. However, when source code contains multiple bugs, this fitness function lacks the expressive power of variants. In this paper, we propose an application of a multi-objective genetic algorithm to APR in order to improve efficiency. We also propose a new crossover method that combines two variants with complementary test results, taking advantage of the high expressive power of multi-objective genetic algorithms for evaluation. We tested the effectiveness of the proposed method on competitive programming tasks. The obtained results showed significant differences in the number of successful trials and the required generation time.}, pages = {1564--1573}, title = {自動プログラム生成に対する多目的遺伝的アルゴリズムの導入:相補的な個体選択を目的として}, volume = {63}, year = {2022} }