@techreport{oai:ipsj.ixsq.nii.ac.jp:00194872, author = {柴田, 敦也 and 須藤, 克仁 and 畑, 秀明 and 中村, 哲}, issue = {10}, month = {Feb}, note = {ソフトウェア開発において効率的に動作するアルゴリズムの選択が重要となる場面が存在するが,全てのソフトウェアに効率的なアルゴリズムが採用されているとは限らない.そこで本稿では,ユーザのプログラム記述に対して,より効率的なアルゴリズムが存在する場合に自動的に実装の推薦を行うために必要な技術 / 手法について検討する.本研究では効率的なアルゴリズム実装の推薦を,1.ユーザのソースコード中の非効率的なアルゴリズムの有無の検出,2.検出した非効率的なアルゴリズムに対応する,効率的なアルゴリズムの選択,3.効率的なアルゴリズムをユーザの元のソースコードに近い形に整形して提示の 3 つの課題に大別した.本稿では 1 の課題をプログラムの非効率的/効率的分類問題として定式化し,オンラインジャッジシステム (OJS) 上に提出されたソースコードに基づく機械学習手法について検討した., The use of efficient algorithms is important in software development. However, it is not necessarily true in practice. In this paper, we pursue a method that automatically suggests an efficient algorithm for user's source code when such an algorithm is available. In this work, we divide the problem into three sub-problems: 1. Detecting inefficient algorithms in user's source code; 2. Choosing an appropriate algorithm for detected inefficient algorithm; 3. Suggesting an efficient source code that can be adapted to user's source code easily. In this paper, we formulate this problem as a binary classification problem of the efficiency and tackle it with a machine learning method based on submitted source code on an online judge system.}, title = {OJS内のデータを利用したユーザへの効率的なアルゴリズム要否の提示}, year = {2019} }