HOME > 研究活動・産学官連携 > ネットジャーナル > ネットジャーナル33

ネットジャーナル33

あいまいなキーワードからソースコードを自動生成

――具体的にどのようなテーマがあげられますか。

博士(工学)荒木 教授

栗原 本研究室では幅広い領域で数多くの研究を行っていますが、その中から2つご紹介します。まずひとつは「キーワードプログラミングシステム」です。これは学生のアイディアから生まれたものです。ソフトウェア開発の中心は、コンピュータが理解できるプログラミング言語によって、コンピュータへの指令書であるプログラム(コード)という文書を作成するプログラミングという作業です。現在のプログラミングでは、ライブラリやフレームワーク、参考書、ウェブサイトなどに存在する既存のコードを再利用して自らのコードを記述するのが一般的です。しかし、それらのライブラリやAPI群は巨大かつ複雑であるため、ユーザが記憶したり検索したりして活用するのが非常に困難です。これに対し、ユーザが必要とするコードスニペット(コードの断片)を抽出するコードサーチエンジンや、ユーザが現在編集中のソースコード情報を利用して、現在位置で必要なコードを補完するコードコンプリーション(コードの自動補完)という機能が利用されています。

私たちは、これらの機能をさらに進化させ、ソースコードの文脈から最適なコード片の候補を自動生成し、最も正解に近い候補を上位に表示するシステムを開発しました(解説1)。このシステムの特長は、あらかじめ用意されたライブラリから検索・抽出するのではなく、プログラミング言語の文法規則に則って人工知能技術が候補を作りだしている点です。プログラミング言語の型名に拘束されることがないため、プログラミング言語の文法について詳細な知識が乏しくても効率的にコーディングすることができます。さらに記憶があいまいで正確なキーワードが入力できない場合も、コンピュータが推論して候補の一覧を表示する機能を開発・実装しました。

ページの先頭へ