著者
倉林 利行 吉村 優 切貫 弘之 丹野 治門 富田 裕也 松本 淳之介 まつ本 真佑 肥後 芳樹 楠本 真二
雑誌
ソフトウェアエンジニアリングシンポジウム2020論文集
巻号頁・発行日
vol.2020, pp.143-152, 2020-09-03

本論文ではソフトウェア開発における実装の自動化に向けたファーストステップとして,プログラミングコンテスト AtCoder の正解プログラムを自動生成する技術の開発を目指す.自動プログラミングの既存研究としては,生成したいプログラムの入出力例からプログラム部品を合成する手法などが存在するが,プログラム部品の組み合わせ爆発により入出力例を満たすプログラムが生成できない,また生成できたとしても入出力例は満たすが正しいプログラムではないというオーバーフィッティングしたプログラムが生成されてしまうという課題が存在した.本論文では深層学習を用いて過去の問題情報から問題文と正解プログラムの関係性を学習することで上記の問題を解決する.具体的には学習済みモデルを用いて過去の問題情報から解きたい問題と類似した問題を検索して取得し,その正解プログラムを雛形としてプログラムを複数個合成し,再び学習済みモデルを用いて生成されたプログラムから最も問題文との関係性が近いプログラムを判定して出力する手法を提案した.提案手法は AtCoder の配点が 100 点の問題 92 問に対して評価を行い,24 問の正解プログラムの自動生成を確認した.