ユーザ用ツール

サイト用ツール


public:start

岩崎研究室・中野研究室

岩崎研究室・中野研究室では,質の高いソフトウェアと,それを構築するための洗練されたプログラミング言語について研究しています.

現在,国立情報学研究所等の他組織との共同で,大規模なグラフデータを処理対象とする並列アプリケーションの開発を支援するシステムの研究・開発(Fregel プロジェクト) に取り組んでいます.

電気通信大学学部3年生のための,岩崎研究室への卒研配属情報はこちら(大学内部からのみアクセス可)を,中野研究室への卒研配属情報はこちら(大学内部からのみアクセス可)を参照してください.

ニュース

  • (2017/9) 青山が日本ソフトウェア科学会第34回大会にて登壇発表.
  • (2017/8) 阿部と中野の論文「Towards practical typechecking for macro forest transducers」が情報処理学会論文誌 プログラミングに採録.
  • (2017/3) 中川・高橋・RathoreがPPL 2017にて登壇発表.
  • (2017/3) 阿部が情報処理学会第113回プログラミング研究会にて登壇発表.
  • (2017/2) 中川と中野の論文がPPL 2017のカテゴリ1に採録.
  • (2017/2) 高橋と中野の論文がPPL 2017のカテゴリ1に採録.
  • (2017/2) Rathoreと岩崎の論文がPPL 2017のカテゴリ1に採録.
  • (2017/1) 北原,丹治,櫻井が情報処理学会第58回プログラミング・シンポジウムにて登壇発表.
  • (2016/11) 新井がAPLAS 2016にて登壇発表.
  • (2016/8) 新井,佐藤,岩崎の論文「A Debugger-Cooperative Higher-Order Contract System in Python」がAPLAS 2016に採択.
  • (2016/5) 岩崎らの論文「Think Like a Vertex, Behave Like a Function! – A Functional DSL for Vertex-centric Big Graph Processing –」がICFP 2016に採択.
  • (2016/4) 谷村がSAC 2016にて登壇発表.
  • (2016/4) 卒研生14名,修士院生8名が配属.

ニュースの履歴

メンバー

役職/学年 名前 Name Email
教授 岩崎 英哉 IWASAKI Hideya iwasaki + @cs.uec.ac.jp
准教授 中野 圭介 NAKANO Keisuke ksk + @cs.uec.ac.jp
修士2年生
(岩崎研究室)
エンフアマガラン ドゥルグーン ENKH-AMGALAN Dulguun dulguun + @ipl.cs.uec.ac.jp
青山 航 AOYAMA Wataru aoyama + @ipl.cs.uec.ac.jp
赤澤 亮弥 AKAZAWA Katsumi akazawa + @ipl.cs.uec.ac.jp
徐 振宇 XU Zhenyu xu + @ipl.cs.uec.ac.jp
修士2年生
(中野研究室)
大友 拓哉 OOTOMO Takuya ootomo + @ipl.cs.uec.ac.jp
櫻井 健二 SAKURAI Kenji sakurai + @ipl.cs.uec.ac.jp
中川 涼太 NAKAGAWA Ryouta nakagawa + @ipl.cs.uec.ac.jp
早川 恵太 HAYAKAWA Keita hayakawa + @ipl.cs.uec.ac.jp
山田 伊織 YAMADA Iori iyamada + @ipl.cs.uec.ac.jp
修士1年生
(岩崎研究室)
秋葉 柊哉 AKIBA Shuya akiba + @ipl.cs.uec.ac.jp
駒村 春野 KOMAMURA Haruno komamura + @ipl.cs.uec.ac.jp
森田 浩平 MORITA Kohei morita + @ipl.cs.uec.ac.jp
大町 一仁 OOMACHI Kazuhito oomachi + @ipl.cs.uec.ac.jp
修士1年生
(中野研究室)
阿部 和敬 ABE Kazuhiro abe + @ipl.cs.uec.ac.jp
小澤 祐也 OZAWA Yuya ozawa + @ipl.cs.uec.ac.jp
高橋 祐多 TAKAHASHI Yuta takahashi + @ipl.cs.uec.ac.jp
学部4年生
(岩崎研究室)
浅見 祥喜 ASAMI Yoshiki asami + @ipl.cs.uec.ac.jp
加藤 直斗 KATO Naoto kato + @ipl.cs.uec.ac.jp
近松 万由子 CHIKAMATSU Mayuko chikamatsu + @ipl.cs.uec.ac.jp
西山 舜 NISHIYAMA Shun nishiyama + @ipl.cs.uec.ac.jp
学部4年生
(中野研究室)
西野 謙吾 NISHINO Kengo nishino + @ipl.cs.uec.ac.jp
宮澤 修 MIYAZAWA Osamu miyazawa + @ipl.cs.uec.ac.jp
宮野 温 MIYANO Atsushi miyano + @ipl.cs.uec.ac.jp
矢野 こずえ YANO Kozue yano + @ipl.cs.uec.ac.jp

卒業生一覧

研究テーマ

岩崎研究室・中野研究室では,プログラミング言語にかかわるさまざまな話題,また,それらの言語を用いたシステムやソフトウェアを,主な研究対象としています.過去の学位論文一覧はこちら

現在の主な研究課題の概略は,次のようなものです.

岩崎研究室

プログラミング言語とその処理系

記号処理言語,関数型言語などに関して,言語設計,効率のよい処理系,使いやすい言語環境を実現する等の研究です. 最近では,関数型言語 Haskell の処理系のメモリ効率の改善,関数型言語によるさまざまな応用プログラムの作成,IoTデバイス向けのJavaScript処理系の構築などに取り組んでいます.

ドメイン特化言語

使用目的をある特定の問題に特化したような言語 (ドメイン特化言語) を設計し,処理系を実現します. 最近では,埋め込み型ドメイン特化言語の実装を支援するDライブラリLibDSLの研究, CプログラムにLuaインタプリタを埋め込んだアプリケーションの記述を支援するドメイン特化言語LuCaの研究などに取り組んでいました. 現在では下で説明する研究テーマと関連して,グラフデータ処理を記述するための関数型ドメイン特化言語Fregelの開発を行っています.

並列プログラミングシステム

ユーザに多大な負担をかけず,プログラムを高速,並列に実行するための方法の研究で,PC クラスタ,マルチコア計算機などの実並列計算機環境上に実装して効果を確認したり,理論的な考察を行ったりします. このようなシステムは,ユーザに並列性を意識させないので,「並列性忘却プログラミング」システムとも呼ばれます. 現在は,大規模グラフ処理を並列に行うための基盤となるシステム (Fregel プロジェクト) に取り組んでいます. また以前には,スケルトン並列プログラミングのためのライブラリSkeToの開発研究を行ってきました.

システムソフトウェア

OS など,計算機の根幹をなす一連のソフトウェア ,またそれらのソフトウェア上で力を発揮する応用プログラムを設計・実現するという研究です. 最近では,ディレクトリごとにモードの設定が可能なジャーナリングファイルシステム,仮想マシンモニタを利用したルートキット検出システム, LinuxのI/Oスケジューラの拡張,それらの応用システムなどの研究に取り組んでいます.

プログラム変換システム

与えられたプログラムを効率のよいプログラムに変換するための仕組およびシステムを研究するというものです. 最近では,「構成的アルゴリズム論」という理論に基づき,余計な中間的データ構造を生成しないようにプログラムを変換する方法,コンパイラによりループ本体を行列積の形式に変形して自動並列化を行う方法,XQueryというXML問い合わせ言語のプログラムを,Macro Forest Transducer という相互再帰関数へ変換する方法などを考察し,プログラムの実行性能を向上させる研究に取り組んできました.

中野研究室

プログラミング言語処理系

「プログラミング言語」と言われて皆さんがイメージするのはどのような言語でしょう? C, Java, それとも他の言語でしょうか. 世の中には何千ものプログラミング言語が存在すると言われています. こんなにたくさんの言語が存在する理由は, 目的や用途によって適した言語が異なるためです. プログラミング言語処理系の研究では, 従来のプログラミング言語に手を加えて目的に適した機能を追加したり, 用途に合った小さなプログラミング言語を自ら開発したりすることを実現しています. 既存のコンパイラの修正による実行プログラムの高速化にも取り組んでいます.

関数型プログラミング

近年,関数型プログラミングとよばれるデータフローを明確にした プログラミングスタイルが話題となっています. 複数のビジネス誌に特集として取り上げられるなど, 企業からの注目も高い研究分野です. 実際,Google の検索エンジンで利用されていることで有名な MapReduce は 関数型プログラミングのアイデアから生まれたものであり, 膨大なメッセージの効率的な処理が必要な Twitter の実装も Scala という言語を用いて関数型プログラミングによって実現されています. 関数型プログラミングについての研究では, より使いやすくするための解決方法を提案したり, 実行効率を向上させるための新たな実装を開発したりしています.

プログラム検証

皆さんは,講義や演習でプログラミングをするとき, 正しく動作することをどのように確認しているでしょうか. いろいろな入力でテスト実行してみたり, プログラムの途中に print 命令を挿入して途中経過を観察したりしていませんか? プログラムの検証は, 「実行せずにプログラムの性質を知る」ための研究です. 基本的にテスト実行では限られた数の入力しかテストできないため, 本当に正しく動くかは保証されません. 本研究では,全ての入力に対して正しく動作するということを数学的な手法で証明しているため, より正確にプログラムの性質を知ることが可能になります.

プログラム変換

一般的に「短絡的に書いたプログラムは,読みやすい一方で効率が悪く, 効率を良くするために工夫して書いたプログラムは, 読みにくい上にデバッグもしにくい」というジレンマがあります. 効率を意識したプログラムは,複雑なアルゴリズムを用いているため, ちょっとした問題設定の変更に対してどのように修正すべきかは単純ではありません. プログラム変換の研究では, 短絡的に書いたプログラムを 効率のよいプログラムに自動変換することを実現します. これにより,読みやすく修正もしやすいプログラミングのもとで, 効率の良い実行プログラムを得ることができます.

形式言語理論

講義などでオートマトンや形式文法などを勉強したことがあると思いますが, 形式言語理論はそれらを深く探求する分野です. 講義では何のために役に立つか分からないまま学習していたかもしれませんが, プログラミング言語の分野では非常に重要なテーマです. ここで挙げている研究テーマの中では最も理論的で数学的な素養が必要になりますが, プログラムの検証から効率化にいたるまで, さまざまなプログラミングの分野で応用可能な実用的な研究の1つです.

双方向変換

双方向変換系は,データベースを安全かつ効率的に更新するための研究です. データベースから必要な情報だけを抽出して見やすく整形したものをビューとよびますが, このビューの内容を修正することで, その修正をデータベース側に反映してしまおうというのが双方向変換のアイデアです. ここで「必要な情報を抽出して見やすく整形する」 という部分を一つのプログラムで記述されていると考えると, そのプログラムは, データベースを入力としてビューを出力するものであると見なせます. したがって,ビュー側の修正をデータベースに反映するためには, このプログラムを逆方向に実行する必要があるわけです. 双方向変換の研究では, この逆方向の実行を自動化するための枠組みを対象にして, 実現するための理論やその実用化に取り組んでいます.

アクセス情報

所属

電気通信大学 大学院情報理工学研究科 情報・ネットワーク工学専攻 コンピュータサイエンスコース
(改組前: 電気通信大学 大学院情報理工学研究科 情報・通信工学専攻 コンピュータサイエンスコース)

電気通信大学 情報理工学部 情報・通信工学科 コンピュータサイエンスコース
電気通信大学 情報理工学域 I類 (情報系)

所在

郵便物送付先

〒182-8585 東京都調布市調布ヶ丘 1-5-1 電気通信大学 西9号館 411 建物事務室 岩崎研究室 宛

居室一覧

役職 名前 居室 内線番号
教員 岩崎 西9号館517号室 5336
中野 西9号館615号室 5321
学生 西9号館518,519,617号室

リンク

public/start.txt · 最終更新: 2017/11/09 10:42 by iwasaki