北海道大学 研究シーズ集

Information and Communication

キーワードプログラミングシステム

栗原 正仁 特任教授 Masahito Kurihara
工学博士

あいまいなキーワード入力からJavaコード片を自動生成

ユーザ(プログラマ)が統合開発環境Eclipseに入力する少数のあいまいなキーワードに基づき、適切なJavaコード片を自動生成するツール。Javaの文法やAPIを正確に覚えていないユーザでも正しいコード片を効率よく書けるよう支援する。

研究の内容

図1のようにadd lineという2つのキーワードを入力し、Cntl+Spaceを押すと、キーワードをできるだけ含み、文法的に正しく、APIを正しく使い、周辺の変数を使用し、この場所にふさわしい型のデータを計算するarray.add(src.readLine())のようなコード片を出力する。図2では正しい単語から母音を削除したあいまいなキーワードencd txtを入力している。出力はGoogleの検索結果のように評価値の高い順に複数表示され、最適なencodeText(value, charset) をユーザが選択できる。入力ミスで文字が1文字置換または追加されても精度は極端には悪くならない。
C++等の経験はあるがJavaの経験に乏しいプログラマが暗記すべき知識を少なくして認知的負担を軽くするのに役に立つ。

  • 図1 ツールの動作

  • 図2 ツールの動作. (あいまいキーワード)

社会実装への可能性

  • ・Javaプログラム開発の効率化

産業界や自治体等へのアピールポイント

EclipseはIBMが開発した統合開発環境の一つだが、高機能ながらオープンソースであり、Eclipse自体はJavaで記述され、Java自体も基本的に無料で使用できる。したがって、本ツールもオープンな環境で開発・公開し、コミュニティに貢献し、皆で技術を発展させようとする姿勢が望ましい。

2018/4/3公開