研究テーマの設定を学生が主体的に行えるように,教員がサポートします.すなわち,まず本人に希望を出してもらい,それを基に面談しながら一緒に研究テーマを作り上げていく方針です.

新しいプログラミング言語

既存のプログラミング言語をより使いやすく拡張する研究や,特定の応用に特化したプログラミング言語を設計する研究などを行っています.例えば,使用される環境や状況に応じて実行されるプログラムのモジュール(部品)を自動的に切り替えられる文脈指向プログラミング,時間変化する値というアイデアを通してセンサとモータの連携のようなデータ流を直接表現するリアクティブプログラミング,Webにおける3Dモデル描画などの応用に向けたドメイン特化言語(Domain Specific Languages: DSL)などの研究があります.

プログラミングの活動を支援するためのツール

新たなプログラミングの言語要素やパラダイムを採用することによって,それまで考えつかなかった,あるいは実現するのが困難だったプログラミング支援を可能にすることがあります.例えば,リアクティブプログラミングにおけるデバッグリファクタリングのための支援に関する研究などがあります.

新しい言語に基づくアプリケーション

新しいプログラミング言語を使用することによってソフトウェア開発がどのように変化するのかを調べるための事例に関する研究を行っています.また,データベースシステムなどの関連分野についても,これまでの成果に基づいた新しいモデルを開拓する活動などを今後行っていきます.

これまでの卒業研究テーマ

  • RxJavaを用いたObserverパターンの書き換え手法
  • リアクティブプログラミングにおける実行履歴可視化手法の評価
  • Three.jsをマルチスレッド環境で簡単に扱えるDSLの提案
  • CMSと連携可能なCSSのライブ編集手法
  • ねらいに基づいたプログラミング教育のための支援手法