自然科学研究科 電気情報工学専攻 准教授
工学部 工学科 准教授
2024/11/21 更新
博士(情報科学) ( 2009年3月 東北大学 )
ML
ソフトウェア開発
コンパイラ
関数型言語
型理論
情報通信 / ソフトウェア / プログラミング
情報通信 / 情報学基礎論 / プログラミング言語理論
新潟大学 自然科学系情報電子工学系列 准教授
2021年10月 - 現在
東北大学 電気通信研究所 准教授
2016年6月 - 2021年9月
東北大学 電気通信研究所 助教
2009年4月 - 2016年5月
東北大学 電気通信研究所 産学官連携研究員
2006年6月 - 2008年3月
新潟大学 教育研究院 自然科学系 情報電子工学系列 准教授
2021年10月 - 現在
新潟大学 自然科学研究科 電気情報工学専攻 准教授
2021年10月 - 現在
新潟大学 工学部 工学科 准教授
2021年10月 - 現在
東北大学 大学院情報科学研究科 システム情報科学専攻
2006年4月 - 2009年3月
備考: 博士課程後期3年の過程
北陸先端科学技術大学院大学 情報科学研究科 情報処理学専攻
2004年4月 - 2006年3月
備考: 博士前期過程
情報処理学会
日本ソフトウェア科学会
The 29th ACM SIGPLAN International Conference on Functional Programming (ICFP 2024) A program committee member
2024年9月
The 29th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications(RTCSA’23) Local Arrangements Chair
2023年9月
Libraries, Languages and Compilers for Array Programming (ARRAY 2023) A Program Committee Member
2023年6月
情報処理学会プログラミング研究会 幹事
2022年4月 - 現在
団体区分:学協会
ACM SIGPLAN ML Family Workshop 2021 A program committee member
2021年8月
日本ソフトウェア科学会プログラミング論研究会 運営委員
2021年4月 - 現在
団体区分:学協会
第23回プログラミングおよびプログラミング言語ワークショップ (PPL 2021) プログラム共同委員長
2021年3月
The 3rd cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2019) プログラム委員
2019年5月
The 23rd ACM SIGPLAN International Conference on Functional Programming (ICFP 2018) A program committee member
2018年9月
The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) プログラム委員
2018年4月
第20回プログラミングおよびプログラミング言語ワークショップ (PPL 2018) プログラム委員
2018年3月
The 1st cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2017) プログラム委員
2017年4月
第19回プログラミングおよびプログラミング言語ワークショップ (PPL 2017) プログラム委員
2017年3月
The 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016) An external reviewer committee member
2016年9月
ACM SIGPLAN ML Family Workshop 2016 A programme committee member
2016年9月
日本ソフトウェア科学会第33回大会 運営委員長
2016年9月
情報処理学会プログラミング研究会 運営委員
2016年4月 - 2020年3月
団体区分:学協会
第18回プログラミングおよびプログラミング言語ワークショップ (PPL 2016) プログラム委員
2016年3月
第18回プログラミングおよびプログラミング言語ワークショップ (PPL 2016) 組織委員
2016年3月
情報処理学会論文誌プログラミング (PRO) 編集委員
2015年4月 - 2019年3月
第17回プログラミングおよびプログラミング言語ワークショップ (PPL 2015) 組織委員
2015年3月
第16回プログラミングおよびプログラミング言語ワークショップ (PPL 2014) 実行副委員長
2014年3月
第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013) 実行委員長
2013年3月
第14回プログラミングおよびプログラミング言語ワークショップ (PPL 2012) プログラム委員
2012年3月
型別名を保存する型推論アルゴリズム 査読
佐藤 季樹, 上野 雄大
第26回プログラミングおよびプログラミング言語ワークショップ (PPL 2024) 2024年3月
Concurrent and Parallel Garbage Collection for Lightweight Threads on Multicore Processors 査読
Katsuhiro Ueno, Atsushi Ohori
Proceedings of the 2022 ACM SIGPLAN International Symposium on Memory Management 2022年6月
A Compilation Method for Dynamic Typing in ML 査読
Atsushi Ohori, Katsuhiro Ueno
APLAS 2021: Programming Languages and Systems 140 - 159 2021年10月
自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式 査読
上野雄大
第22回プログラミングおよびプログラミング言語ワークショップ (PPL 2020) 2020年3月
Progress report: Ruby 3における静的型解析の実現に向けて 査読
遠藤侑介, 松本宗太郎, 上野雄大, 住井英二郎, 松本行弘
第21回プログラミングおよびプログラミング言語ワークショップ (PPL2019) 2019年3月
関数型言語SML#のためのコードレベルデバッグ環境の実現方式 査読
大野一樹, 上野雄大, 大堀淳
情報処理学会論文誌 プログラミング(PRO) 11 ( 3 ) 1 - 13 2018年9月
Finitary Polymorphism for Optimizing Type-Directed Compilation 査読
Atsushi Ohori, Katsuhiro Ueno, Hisayuki Mima
Proceedings of the ACM on Programming Languages 2 ( ICFP ) 1 - 29 2018年7月
部分動的レコードを活用した型付きテンプレートエンジンの実現 査読
逢坂美冬, 上野雄大, 大堀淳
コンピュータソフトウェア 35 ( 3 ) 3_79 - 3_95 2018年7月
ML系言語とストリーミングデータベースの統合 査読
高城光平, 上野雄大, 大堀淳
The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) 2018年5月
Java PathFinderによるMLプログラムの捕捉されない例外の検証 査読
魚谷孝太, 上野雄大, 大堀淳
The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) 2018年5月
Making SML# a General-Purpose High-Performance Language 査読
Atsushi Ohori, Kenjiro Taura, Katsuhiro Ueno
ACM SIGPLAN ML Family Workshop 2017 2017年9月
SML# with Natural Join 査読
Tomohiro Sasaki, Katsuhiro Ueno, Atsushi Ohori
ACM SIGPLAN ML Family Workshop 2016 2016年9月
A Fully Concurrent Garbage Collector for Functional Programs on Multicore Processors 査読
Katsuhiro Ueno, Atsushi Ohori
Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming - ICFP 2016 421 - 433 2016年9月
A Foreign Language Interface from ML to Shell 査読
Katsuhiro Ueno, Atsushi Ohori
New Generation Computing 34 ( 3 ) 239 - 256 2016年8月
A Calculus with Partially Dynamic Records for Typeful Manipulation of JSON Objects 査読
Atsushi Ohori, Katsuhiro Ueno, Tomohiro Sasaki, Daisuke Kikuchi
Proceedings of the 30th European Conference on Object-Oriented Programming (ECOOP 2016) 18:1 - 18:25 2016年7月
A Type Safe Access to Key-Value Stores from Functional Languages 査読
Katsuhiro Ueno, Atsushi Ohori
Journal of Information Processing 24 ( 1 ) 141 - 151 2016年1月
変数参照関係を用いた関数型プログラムのコードリーディング支援 査読
遠藤 誠典, 百足 勇人, 森畑 明昌, 上野 雄大, 大堀 淳
コンピュータソフトウェア 32 ( 1 ) 1_194 - 1_212 2015年1月
Katsuhiro Ueno, Yutaka Fukasawa, Akimasa Morihata, Atsushi Ohori
Programming Languages and Systems 78 - 98 2014年11月
Compiling SML# with LLVM: a Challenge of Implementing ML on a Common Compiler Infrastructure 査読
Katsuhiro Ueno, Atsushi Ohori
ACM SIGPLAN ML Family Workshop 2014 2014年9月
SML# in Industry: A Practical ERP System Development 査読
Atsushi Ohori, Katsuhiro Ueno, Kazunori Hoshi, Shinji Nozaki, Takashi Sato, Tasuku Makabe, Yuki Ito
Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP 167 - 173 2014年9月
SML#のSQL統合機能への行集約機能の実装 査読
斎藤皓, 上野雄大, 森畑明昌, 大堀淳
第16回プログラミングおよびプログラミング言語ワークショップ (PPL 2014) 2014年3月
SML#のデータベース連携機能を活用したウェブアプリケーション構築技術 査読
藤井貴啓, 上野雄大, 森畑明昌, 大堀淳
第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013) 2013年3月
Cとの連携機能を持つ関数型言語におけるプロファイラの試作 査読
朝井雄大, 上野雄大, 森畑明昌, 大堀淳
第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013) 2013年3月
多相レコード計算に基づく軽量な第一級オーバーロードの設計と実装 査読
上野雄大, 大堀淳
コンピュータソフトウェア 29 ( 1 ) 1_191 - 1_210 2012年1月
An Efficient Non-Moving Garbage Collector for Functional Languages 査読
Katsuhiro Ueno, Atsushi Ohori, Toshiaki Otomo
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming 46 ( 9 ) 196 - 208 2011年9月
Making Standard ML a Practical Database Programming Language 査読
Atsushi Ohori, Katsuhiro Ueno
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming 46 ( 9 ) 307 - 319 2011年9月
宣言的記述からの関数型言語によるゲームプログラムの導出 査読
松島勇介, 上野雄大, 森畑明昌, 大堀淳
第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2010) 2011年3月
生存区間を変数名とする中間表現の実装と, それに基づく最適化 査読
高橋和将, 森畑明昌, 上野雄大, 大堀淳
第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2011) 2011年3月
SML#の外部関数インターフェース 査読
上野雄大, 大堀淳
コンピュータソフトウェア 27 ( 2 ) 2_142 - 2_168 2010年5月
上野雄大, 大堀淳
情報処理学会論文誌プログラミング(PRO) 1 ( 3 ) 19 - 33 2008年10月
型代入を遅延する最適化型推論アルゴリズム 査読
上野雄大, 大堀淳
コンピュータソフトウェア 25 ( 2 ) 2_101 - 2_113 2008年5月
SML#で始める実践MLプログラミング
大堀 淳, 上野 雄大( 担当: 共著)
共立出版 2021年4月 ( ISBN:9784320124714 )
日本語は計算が書けるか
上野雄大
コンピュータソフトウェア 41 ( 3 ) 3_90 - 3_91 2024年7月
日本ソフトウェア科学会第40回大会 受賞者による受賞研究紹介
末永 幸平
コンピュータソフトウェア 41 ( 3 ) 3_76 - 3_86 2024年7月
日本ソフトウェア科学会第37回大会受賞者による受賞研究紹介
住井 英二郎
コンピュータソフトウェア 38 ( 2 ) 2_5 - 2_13 2021年4月
日本ソフトウェア科学会第33回大会報告
光来 健一, 上野 雄大
コンピュータソフトウェア 34 ( 1 ) 1_39 - 1_51 2017年1月
SML#: Toward the Ideal Interoperability between Languages and Systems 招待 国際会議
Katsuhiro Ueno
MoreVMs'23 2023年3月
上野雄大, 大堀淳
PPLサマースクール2018 2018年8月
The SML# compiler backend: compiling ML to C-compatible low-level code 招待 国際会議
Katsuhiro Ueno
Syntax and Smentics of Low-Level Languages (LOLA 2015) 2015年7月
大堀 淳, 上野雄大, 開発協力者多数
第40回大会優秀発表賞
2023年12月 日本ソフトウェア科学会 Minissg: 小さく軽量で規約のない静的Webサイトジェネレータ
第37回高橋奨励賞
2021年1月 日本ソフトウェア科学会 自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式
第37回大会優秀発表賞
2020年10月 日本ソフトウェア科学会 自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式
第24回研究論文賞
2020年9月 日本ソフトウェア科学会 部分動的レコードを活用した型付きテンプレートエンジンの実現
逢坂美冬, 上野雄大, 大堀淳
トーキン財団奨励賞
2015年3月 公益財団法人トーキン科学技術振興財団 高信頼プログラミング言語の実用化技術の研究および次世代言語処理系の開発
第27回大会高橋奨励賞
2011年1月 日本ソフトウェア科学会 多相レコード計算に基づく軽量な第一級オーバーロードの設計と実装
計算資源の抽象化を必要としない関数型言語の開発
研究課題/領域番号:24K14894
2024年4月 - 2029年3月
制度名:科学研究費助成事業
研究種目:基盤研究(C)
提供機関:日本学術振興会
上野 雄大
配分額:4550000円 ( 直接経費:3500000円 、 間接経費:1050000円 )
ソフトウェアのビルド手続きを系統的に記述するための新たな枠組みの開発
2023年9月 - 2024年3月
制度名:試験研究費
提供機関:公益財団法人新潟工学振興会
担当区分:研究代表者
研究課題/領域番号:19K11893
2019年4月 - 2023年3月
制度名:科学研究費助成事業 基盤研究(C)
研究種目:基盤研究(C)
提供機関:日本学術振興会
上野 雄大
担当区分:研究代表者
配分額:4290000円 ( 直接経費:3300000円 、 間接経費:990000円 )
本研究の一般的な目的は,C言語やFORTRANに匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することである.この実現に向けて,本研究では,主に関数型言語のコードが行うメモリの使い方に着目し,暗黙的なメモリ操作や大域的同期を含まないコードを生成するコンパイル方式の開発,および関数型言語の高いメモリ要求に耐える性能を発揮する並行・並列メモリ管理方式の構築を目指した研究を実施している.本年度は,主にソフトウェア開発およびコンパイル方式の理論的基礎の検討を行い,以下の成果を得た.
(1) 本研究で開発している並行並列ガベージコレクション(GC)アルゴリズムのSML#コンパイラにおける実装に含まれていた潜在的なパフォーマンス上の問題点を発見し,パラメタの細やかなチューニングを含めた修正を行い,方式および実装の完成度を更に高めた.また,このGCの利用を前提としたSML#のスレッドバインディングのバグを修正した.
(2) 駆動するCPUコアの数を増やすことで実行時間が短縮されることが期待できる,自明でないタスク並列ベンチマークプログラムを複数の言語で作成し,多言語との比較を含む性能評価を行い,本研究で開発したGC方式の優れた効果を改めて確認した.
(3) 本研究が目指す,暗黙的なメモリ操作を含まないコードを生成するコンパイル方式を綿密に検討する過程において,メモリの使い方が明らかな操作的意味論の必要性とその構成に関する着想を得た.この着想は,宣言的で抽象度が高い記述をしながら,マルチコアCPUやメモリなどの具象的な計算資源を緻密に制御することを可能とする,新しい関数型言語の実現に繋がる可能性がある.
超並列技術をML系高信頼言語SML#に統合した超並列関数型言語の実現と最適化
研究課題/領域番号:18K11233
2018年4月 - 2022年3月
制度名:科学研究費助成事業 基盤研究(C)
研究種目:基盤研究(C)
提供機関:日本学術振興会
大堀 淳, 上野 雄大
担当区分:研究分担者
配分額:4290000円 ( 直接経費:3300000円 、 間接経費:990000円 )
本研究の目的は、マルチコアプロセッサにスケールする超並列技術を、研究代表者等によって開発された高信頼関数型言語SML#に統合し、大規模分散計算や超並列計算をサポートする関数型言語を実現することである。この実現のため、(1)高水準言語処理系とOSライブラリとの直接連携による高水準超並列言語の実現と最適化、(2)方程式集合の並列変換を基礎とする大規模分散データ並列言語機能の設計と実現、(3)データベース問い合わせ言語との統合を基礎とする超並列入出力処理方式の研究、さらに、(4)以上の成果を統合した超並列SML#言語の実現を目指した研究を実施する計画である。
本年度は、昨年度に引き続き(1)の基盤となる並行ゴミ集め方式のさらなる改良、新たに(3)の基盤となる動的な型付け機構の研究の完成、さらに、(4)の実現を目指し以上の成果を統合したSML#言語の開発を行いgithubにてソース共に広く世界にリリースした。これらの成果の概要は以下のとおりである。(1) 本年度は、昨年度に開発した並行ゴミ集め方式のアルゴリズムと実装の最適化とチューニングを行い、システムの性能評価を通じて、他の関数型言語を凌駕する性能を確認した。(3)本年度は、昨年度に構築した動的型付け機構を多相型言語に系統的に導入する方式の完全な実装を行い、SML#4.0.0版に組み込リリースした。(4)これら成果を統合し拡張したSML#言語を開発した。
さらに、それらの成果のコミュニティ・社会への幅広い貢献・還元を目指し、並列・並行プログラミング技術を含むSML#のプログラミングの教科書、および、SML#言語を用いたML系関数型言語のコンパイラ構築方に関する教科書を執筆し共立出版社より出版した。
研究課題/領域番号:15K15964
2015年4月 - 2019年3月
制度名:科学研究費助成事業 若手研究(B)
研究種目:若手研究(B)
提供機関:日本学術振興会
上野 雄大
担当区分:研究代表者
配分額:3900000円 ( 直接経費:3000000円 、 間接経費:900000円 )
実用プログラミング言語の系統的な設計と実装のための枠組みを研究し,以下の成果を得た.(1)レコード多相性の考え方を応用してRuby言語を独立性の高い計算系の集合に分割し,それらを系統的に合成することで言語全体の操作的意味論を構築した.その結果からインタプリタを導出できることを確認した.(2)Ruby開発チームとの共同研究として,Rubyのための抽象解釈に基づく型プロファイラおよび漸進的型付けの考え方を取り入れた型検査器を開発した.(3)関数型言語コンパイラ構築の要素技術として,静的型付け言語から外部JSONデータを型付きで操作する体系,およびミューテータを止めない並行ごみ集め方式を開発した.
研究課題/領域番号:25280019
2013年4月 - 2018年3月
制度名:科学研究費助成事業 基盤研究(B)
研究種目:基盤研究(B)
提供機関:日本学術振興会
大堀 淳, 上野 雄大
担当区分:研究分担者
配分額:8190000円 ( 直接経費:6300000円 、 間接経費:1890000円 )
ML系多相型言語SML#の実用化技術に関する基礎研究を行い、(1) 汎用の低レベル言語用コード生成方式の構築およびLLVM向けのバックエンドの開発、(2)並行GC方式とアルゴリズムの構築およびマルチコアにスケールする並行GCシステムの開発と実装、(3)部分動的レコードを用いたJSONデータ操作方式の開発と実装、(4)産業界と連携した実用ERPシステムの開発、等の成果をあげ、これら成果をSML#コンパイラに実装し、世界に向けて継続的にリリースした。また、これら成果を含むSML#コンパイラの系統的なテスト環境を構築し、コンパイラの堅牢性を高めた。
研究課題/領域番号:24700021
2012年4月 - 2015年3月
制度名:科学研究費助成事業 若手研究(B)
研究種目:若手研究(B)
提供機関:日本学術振興会
上野 雄大
担当区分:研究代表者
配分額:2730000円 ( 直接経費:2100000円 、 間接経費:630000円 )
複数のプログラミング言語を連携してひとつのアプリケーションを安全に開発できることを目指し,本研究では,言語間連携のための正しいコードをコンパイラが型から自動的に導出することで,型付き関数型言語からそれ以外の言語を直接かつ安全に利用可能にする方式を開発した.その方式に基づき,関数型言語SML#にシェルスクリプトをそのまま埋め込む拡張を実装した.さらにRubyとの直接連携を目指し,Rubyの高水準な形式的意味論を与える基礎理論を構築した.
研究課題/領域番号:22500023
2010年 - 2012年
制度名:科学研究費助成事業 基盤研究(C)
研究種目:基盤研究(C)
提供機関:日本学術振興会
大堀 淳, 上野 雄大, 森畑 明昌
担当区分:研究分担者
配分額:3770000円 ( 直接経費:2900000円 、 間接経費:870000円 )
本研究では,プログラミング言語のコンパイルの過程に現れる種々の中間言語は,直感主義的論理学の証明システムとして表現でき,それらの言語間の変換は,証明変換として表現できるはずである,との基本的な洞察を基礎とし,関数型言語のコンパイル過程を自然演繹システムから,コード言語を表現するある種のシーケント計算系にいたる証明変換の合成として表現でき,その変換可能性を示すメタレベルの証明から,コンパイルアルゴリズムが抽出できることを示した.
システムソフトウェア特論
自然科学総論3
情報システム基礎実習
システムソフトウェア構成論
プログラミングA3
プログラミングA2
コンパイラ
プログラミングA1
ソフトウェア構成論
プログラミング演習B
創造工学研修
電気・通信・電子・情報工学実験
機関名:東北大学工学部情報知能システム総合学科
プログラミング演習B
機関名:東北大学工学部情報知能システム総合学科
知能情報システム実験IV
知能情報システム実験III
自然科学総論III
システムソフトウェア特論
システムソフトウェア構成論
工学リテラシー入門(情報電子分野)
プログラミングAIII
情報システム基礎実習
プログラミングAII
プログラミングAI
コンパイラ