自動プログラム修正を応用したプログラム生成の提案と評価
修士論文, 大阪大学
概要: 現在,自動運転や無人レジのように社会では自動化が進んでおり,ソフトウェア開発の自動化も求め
られている.単体テストやデプロイは自動化が進んでいるが,実装の自動化は進んでいない.本研究で
は実装の完全な自動化によりソフトウェア開発の工数の大幅削減を目標とする.しかし,オープンソー
スソフトウェアや業務で開発するプログラムのような大規模なプログラムの自動生成は難しい.そのた
め,実装の自動化の実現に向けた第一歩としてプログラミングコンテストの問題を対象としてプログラ
ムの自動生成を目指す.本研究では,自動でバグの特定と修正を行う自動プログラム修正手法を応用し
たプログラムの自動生成手法を提案する.まず,プログラミングコンテストの問題文,テストケースお
よび過去のプログラミングコンテストの解答を保存したデータベースを用いて,プログラミングコンテ
ストの解答を生成する.問題文からその問題を解くために必要な制御構文のみを含む解答の雛形を推測
する.次に,推測した雛形に対して過去に出題された問題の解答に含まれるプログラム文を再利用して
解答を生成する.
AtCoder というプログラムコンテストで出題された問題を対象に実験をした.古いコンテストの問
題は,傾向が固まっておらず現在の問題と難易度が異なる.そのため,現在の出題形式に近い問題を実
験対象とした.現在の出題形式に近い99 問の問題に対して雛形の推測を試みたところ46 問で正しい雛
形の推測に成功した.また,現在の出題形式に近く,すべてのテストケースが公開されている35 問の
問題に対して生成を試みたところ,10 問の問題で解答の生成に成功した.
@mastersthesis{富田裕也2021,
author = {富田 裕也},
title = {自動プログラム修正を応用したプログラム生成の提案と評価},
school = {大阪大学},
year = {2021}
}