OJS内のデータを利用したユーザへの効率的なアルゴリズム要否の提示

柴田敦也(1751053)


ソフトウェア開発において効率的に動作するアルゴリズムの選択が重要となる場面が存在するが、全てのソフトウェアに効率的なアルゴリズムが採用されているとは限らない。 そこで本稿では、ユーザのプログラム記述に対して、より効率的なアルゴリズムが存在する場合に自動的に実装の推薦を行うために必要な技術/手法について検討する。 本研究では効率的なアルゴリズム実装の推薦を、1.ユーザのソースコード中の非効率的なアルゴリズムの有無の検出、2.検出した非効率的なアルゴリズムに対応する、効率的なアルゴリズムの選択、3.効率的なアルゴリズムをユーザの元のソースコードに近い形に整形して提示 の3つの課題に大別した。 本稿では1の課題をプログラムの非効率的/効率的分類問題として定式化し、オンラインジャッジシステム(OJS)上に提出されたソースコードに基づく機械学習手法について検討した。