public:start
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
public:start [2018/03/27 17:46] – [ニュース] iwasaki | public:start [2023/10/10 12:47] (現在) – [ニュース] iwasaki | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== 岩崎研究室・中野研究室 ====== | + | ====== 岩崎研究室 ====== |
- | 岩崎研究室・中野研究室では,質の高いソフトウェアと,それを構築するための洗練されたプログラミング言語について研究しています. | + | 岩崎研究室では,質の高いソフトウェアと,それを構築するための洗練されたプログラミング言語について研究しています. |
現在,国立情報学研究所等の他組織との共同で,大規模なグラフデータを処理対象とする並列アプリケーションの開発を支援するシステムの研究・開発([[http:// | 現在,国立情報学研究所等の他組織との共同で,大規模なグラフデータを処理対象とする並列アプリケーションの開発を支援するシステムの研究・開発([[http:// | ||
- | |||
- | 電気通信大学学部3年生のための,岩崎研究室への卒研配属情報は[[http:// | ||
===== ニュース ===== | ===== ニュース ===== | ||
- | * (2018/3) 加藤と岩崎の論文が[[https:// | + | * (2023/10) 大塚と岩崎の論文「Haskell Library for Safer Virtual Machine Introspection (Experience Report)」が[[https:// |
- | * (2018/3) 山田の発表が[[https:// | + | * (2023/9) 山本が[[https:// |
- | * (2018/2) 加藤と岩崎の論文が[[https:// | + | * (2023/9) 大塚が[[https:// |
- | * (2018/2) 山田と中野の論文が[[https:// | + | * (2023/7) 大塚と岩崎の論文「Haskell Library for Safer Virtual Machine Introspection (Experience Report)」が[[https:// |
- | * (2018/2) 近松,岩崎,中野の論文が[[https:// | + | * (2023/5) 冨井と岩崎の論文「メタヒューリスティクスの適用を効率的に記述するドメイン特化言語」が日本ソフトウェア科学会 コンピュータソフトウェアに採録されました. |
- | * (2018/2) 西山と中野の論文が[[https:// | + | * (2023/3) 齊藤が[[https:// |
- | * (2018/2) 岩崎らの論文「Optimizing Declarative Parallel distributed Graph Processing by using Constraint Solvers」が [[http://www.sqlab.jp/FLOPS2018/|FLOPS 2018]] に採録. | + | * (2023/1) 齊藤と岩崎らの論文が[[https:// |
- | * (2018/1) 櫻井と中野が[[http://www.ipsj.or.jp/prosym/ | + | * (2023/1) 齋藤が[[https:// |
- | * (2018/1) 徐,駒村が[[http://www.ipsj.or.jp/ | + | * (2022/10) 平澤,岩崎,小野澤らの論文「Generating Virtual Machine Code of JavaScript Engine for Embedded Systems」が [[https://www.ipsj.or.jp/english/organization/ |
- | * (2018/1) 高橋と中野の論文「木から文字列への決定性トップダウン変換の等価性判定の実装について」が日本ソフトウェア科学会 コンピュータソフトウェアに採録. | + | * (2022/9) 冨井と岡本が[[https://jssst2022.wordpress.com/|日本ソフトウェア科学会第39回大会]]にて口頭発表しました. |
- | * (2017/11) 岩崎らの論文「A Framework | + | * (2022/6) 平澤,岩崎,小野澤らの論文「Generating Virtual Machine Code of JavaScript Engine for Embedded Systems」が情報処理学会英文誌 Journal of Information Processing に採録されました. |
- | * (2017/9) 青山が[[https:// | + | * (2022/5) 宮島と岩崎らの論文「TABLET: |
- | * (2017/8) 阿部と中野の論文「[[https:// | + | * (2022/4) 岩崎が明治大学理工学部情報科学科に転出しました. |
- | * (2017/3) 中川・高橋・Rathoreが[[https:// | + | * (2022/3) 宮島が[[https://sigpro.ipsj.or.jp/ |
- | * (2017/3) 阿部が[[https:// | + | * (2022/3) 長安と大塚が[[https:// |
- | * (2017/2) 中川と中野の論文が[[https:// | + | * (2022/1) 長安と岩崎らの論文が[[https:// |
- | * (2017/2) 高橋と中野の論文が[[https:// | + | * (2022/1) 大塚と岩崎の論文が[[https:// |
- | * (2017/2) Rathoreと岩崎の論文が[[https:// | + | * (2021/11) 岩崎らの論文「Fregel: a functional domain specific language |
- | * (2017/1) 北原,丹治,櫻井が[[http://www.ipsj.or.jp/ | + | * (2021/10) 安積の発表が[[https:// |
- | * (2016/11) 新井が[[http://soict.hust.edu.vn/~aplas2016/|APLAS 2016]]にて登壇発表. | + | * (2021/9) 安積が[[https:// |
- | * (2016/8) 新井,佐藤,岩崎の論文「A Debugger-Cooperative Higher-Order Contract System in Python」が[[http://soict.hust.edu.vn/~aplas2016/|APLAS 2016]]に採録. | + | * (2021/6) 小野澤が[[https:// |
- | * (2016/5) 岩崎らの論文「Think Like a Vertex, Behave Like a Function! -- A Functional DSL for Vertex-centric Big Graph Processing | + | * (2021/5) 小野澤と岩崎らの論文「Fusuma: Double-Ended Threaded Compaction」が[[https://conf.researchr.org/home/ismm-2021|ISMM 2021]]に採録されました. |
- | * (2016/4) 谷村が[[http:// | + | * (2021/3) 小野澤と岩崎らの論文が[[https:// |
- | * (2016/4) 卒研生14名,修士院生8名が配属. | + | * (2021/3) 小野澤と宮島が[[https:// |
+ | * (2021/2) 小野澤と岩崎らの論文が[[https:// | ||
+ | * (2021/2) 宮島と岩崎らの論文が[[https:// | ||
+ | * (2020/12) 小野澤・岩崎らの論文「アプリケーションと実行環境に適応したカスタマイズが可能なJavaScript処理系」が日本ソフトウェア科学会 コンピュータソフトウェアに採録されました. | ||
+ | * (2020/6) 平澤が[[https://sigpro.ipsj.or.jp/ | ||
+ | * (2020/3) 小野澤が[[https://jssst-ppl.org/workshop/ | ||
+ | * (2020/2) 小野澤と岩崎の論文が[[https://jssst-ppl.org/workshop/ | ||
+ | * (2020/1) 丹野と岩崎らの論文「Region-based Detection of Essential Differences in Image-based Visual Regression Testing」が情報処理学会英文誌 Journal of Information Processing | ||
+ | * (2019/12) 浅見が[[http:// | ||
+ | * (2019/4) 丹野が[[http:// | ||
[[history|ニュースの履歴]] | [[history|ニュースの履歴]] | ||
===== メンバー ===== | ===== メンバー ===== | ||
- | ^ 役職/ | + | ^ 役職/ |
- | | 教授 | [[http:// | + | | (教授) | [[http:// |
- | | 准教授 | [[http:// | + | | 博士1年生 |
- | | 修士2年生 | + | | 修士2年生 |
- | | ::: | 青山 航 | 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年生 | + | | 修士1年生 |
- | | ::: | 櫻井 健二 | + | | ::: | 山本 武蔵 |
- | | ::: | 中川 涼太 | 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 | | + | |
- | | ::: | 小澤 祐也 | + | |
- | | ::: | 高橋 | + | |
- | | 学部4年生 | + | |
- | | ::: | 加藤 直斗 | + | |
- | | ::: | 近松 万由子 | CHIKAMATSU Mayuko | chikamatsu + @ipl.cs.uec.ac.jp | | + | |
- | | ::: | 西山 舜 | NISHIYAMA Shun | nishiyama | + | |
- | | 学部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 | | + | |
- | | ::: | 矢野 こずえ | + | |
[[alumni|卒業生一覧]] | [[alumni|卒業生一覧]] | ||
行 66: | 行 56: | ||
===== 研究テーマ ===== | ===== 研究テーマ ===== | ||
- | 岩崎研究室・中野研究室では,プログラミング言語にかかわるさまざまな話題,また,それらの言語を用いたシステムやソフトウェアを,主な研究対象としています.[[thesis|過去の学位論文一覧はこちら]]. | + | 岩崎研究室では,プログラミング言語にかかわるさまざまな話題,また,それらの言語を用いたシステムやソフトウェアを,主な研究対象としています.[[thesis|過去の学位論文一覧はこちら]]. |
現在の主な研究課題の概略は,次のようなものです. | 現在の主な研究課題の概略は,次のようなものです. | ||
- | |||
- | ==== 岩崎研究室 ==== | ||
=== プログラミング言語とその処理系 === | === プログラミング言語とその処理系 === | ||
行 96: | 行 84: | ||
与えられたプログラムを効率のよいプログラムに変換するための仕組およびシステムを研究するというものです. | 与えられたプログラムを効率のよいプログラムに変換するための仕組およびシステムを研究するというものです. | ||
最近では,「構成的アルゴリズム論」という理論に基づき,余計な中間的データ構造を生成しないようにプログラムを変換する方法,コンパイラによりループ本体を行列積の形式に変形して自動並列化を行う方法,XQueryというXML問い合わせ言語のプログラムを,Macro Forest Transducer という相互再帰関数へ変換する方法などを考察し,プログラムの実行性能を向上させる研究に取り組んできました. | 最近では,「構成的アルゴリズム論」という理論に基づき,余計な中間的データ構造を生成しないようにプログラムを変換する方法,コンパイラによりループ本体を行列積の形式に変形して自動並列化を行う方法,XQueryというXML問い合わせ言語のプログラムを,Macro Forest Transducer という相互再帰関数へ変換する方法などを考察し,プログラムの実行性能を向上させる研究に取り組んできました. | ||
- | ==== 中野研究室 ==== | ||
- | |||
- | === プログラミング言語処理系 === | ||
- | 「プログラミング言語」と言われて皆さんがイメージするのはどのような言語でしょう? | ||
- | C, Java, それとも他の言語でしょうか. | ||
- | 世の中には何千ものプログラミング言語が存在すると言われています. | ||
- | こんなにたくさんの言語が存在する理由は, | ||
- | 目的や用途によって適した言語が異なるためです. | ||
- | プログラミング言語処理系の研究では, | ||
- | 従来のプログラミング言語に手を加えて目的に適した機能を追加したり, | ||
- | 用途に合った小さなプログラミング言語を自ら開発したりすることを実現しています. | ||
- | 既存のコンパイラの修正による実行プログラムの高速化にも取り組んでいます. | ||
- | |||
- | === 関数型プログラミング === | ||
- | 近年,関数型プログラミングとよばれるデータフローを明確にした | ||
- | プログラミングスタイルが話題となっています. | ||
- | 複数のビジネス誌に特集として取り上げられるなど, | ||
- | 企業からの注目も高い研究分野です. | ||
- | 実際,Google の検索エンジンで利用されていることで有名な MapReduce は | ||
- | 関数型プログラミングのアイデアから生まれたものであり, | ||
- | 膨大なメッセージの効率的な処理が必要な Twitter の実装も | ||
- | Scala という言語を用いて関数型プログラミングによって実現されています. | ||
- | 関数型プログラミングについての研究では, | ||
- | より使いやすくするための解決方法を提案したり, | ||
- | 実行効率を向上させるための新たな実装を開発したりしています. | ||
- | |||
- | === プログラム検証 === | ||
- | 皆さんは,講義や演習でプログラミングをするとき, | ||
- | 正しく動作することをどのように確認しているでしょうか. | ||
- | いろいろな入力でテスト実行してみたり, | ||
- | プログラムの途中に print 命令を挿入して途中経過を観察したりしていませんか? | ||
- | プログラムの検証は, | ||
- | 「実行せずにプログラムの性質を知る」ための研究です. | ||
- | 基本的にテスト実行では限られた数の入力しかテストできないため, | ||
- | 本当に正しく動くかは保証されません. | ||
- | 本研究では,全ての入力に対して正しく動作するということを数学的な手法で証明しているため, | ||
- | より正確にプログラムの性質を知ることが可能になります. | ||
- | |||
- | === プログラム変換 === | ||
- | 一般的に「短絡的に書いたプログラムは,読みやすい一方で効率が悪く, | ||
- | 効率を良くするために工夫して書いたプログラムは, | ||
- | 読みにくい上にデバッグもしにくい」というジレンマがあります. | ||
- | 効率を意識したプログラムは,複雑なアルゴリズムを用いているため, | ||
- | ちょっとした問題設定の変更に対してどのように修正すべきかは単純ではありません. | ||
- | プログラム変換の研究では, | ||
- | 短絡的に書いたプログラムを | ||
- | 効率のよいプログラムに自動変換することを実現します. | ||
- | これにより,読みやすく修正もしやすいプログラミングのもとで, | ||
- | 効率の良い実行プログラムを得ることができます. | ||
- | |||
- | === 形式言語理論 === | ||
- | 講義などでオートマトンや形式文法などを勉強したことがあると思いますが, | ||
- | 形式言語理論はそれらを深く探求する分野です. | ||
- | 講義では何のために役に立つか分からないまま学習していたかもしれませんが, | ||
- | プログラミング言語の分野では非常に重要なテーマです. | ||
- | ここで挙げている研究テーマの中では最も理論的で数学的な素養が必要になりますが, | ||
- | プログラムの検証から効率化にいたるまで, | ||
- | さまざまなプログラミングの分野で応用可能な実用的な研究の1つです. | ||
- | |||
- | === 双方向変換 === | ||
- | 双方向変換系は,データベースを安全かつ効率的に更新するための研究です. | ||
- | データベースから必要な情報だけを抽出して見やすく整形したものをビューとよびますが, | ||
- | このビューの内容を修正することで, | ||
- | その修正をデータベース側に反映してしまおうというのが双方向変換のアイデアです. | ||
- | ここで「必要な情報を抽出して見やすく整形する」 | ||
- | という部分を一つのプログラムで記述されていると考えると, | ||
- | そのプログラムは, | ||
- | データベースを入力としてビューを出力するものであると見なせます. | ||
- | したがって,ビュー側の修正をデータベースに反映するためには, | ||
- | このプログラムを逆方向に実行する必要があるわけです. | ||
- | 双方向変換の研究では, | ||
- | この逆方向の実行を自動化するための枠組みを対象にして, | ||
- | 実現するための理論やその実用化に取り組んでいます. | ||
- | |||
===== アクセス情報 ===== | ===== アクセス情報 ===== | ||
行 185: | 行 99: | ||
=== 居室一覧 === | === 居室一覧 === | ||
- | ^ 役職 | + | ^ 役職 |
- | | 教員 | 岩崎 | 西9号館517号室 | 5336 | | + | | 教員 |
- | | ::: | 中野 | 西9号館615号室 | 5321 | | + | | 学生 |
- | | 学生 | --- | 西9号館518, | + | |
===== リンク ===== | ===== リンク ===== | ||
* [[http:// | * [[http:// | ||
- | * [[http://www.im.uec.ac.jp/intro-1rui/ | + | * [[https://www.c1.uec.ac.jp/ |
* [[http:// | * [[http:// | ||
- | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * [[https://syssectsukuba.wordpress.com/ | + | * [[https://syssec.cs.tsukuba.ac.jp/ |
+ | * [[https:// | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// |
public/start.1522140370.txt.gz · 最終更新: 2018/08/18 17:39 (外部編集)