Graduate School of Science and Technology Electrical and Information Engineering Associate Professor
Faculty of Engineering Department of Engineering Associate Professor
Updated on 2024/12/30
Doctor of Philosophy (Information Sciences) ( 2009.3 Tohoku University )
ML
Software Development
Compiler
Functional Programming Language
Type Theory
Informatics / Software / Programming
Informatics / Theory of informatics / Programming Language Theory
Niigata University Academic Assembly Institute of Science and Technology Associate Professor
2021.10
Research Institute of Electrical Communication, Tohoku University Associate Professor
2016.6 - 2021.9
Research Institute of Electrical Communication, Tohoku University Assistant Professor
2009.4 - 2016.5
Research Institute of Electrical Communication, Tohoku University Industry-Academia-Government Collaboration Researcher
2006.6 - 2008.3
Niigata University Institute of Science and Technology, Academic Assembly Associate Professor
2021.10
Niigata University Electrical and Information Engineering, Graduate School of Science and Technology Associate Professor
2021.10
Niigata University Department of Engineering, Faculty of Engineering Associate Professor
2021.10
Tohoku University Graduate School of Information Sciences Department of System Information Sciences
2006.4 - 2009.3
Notes: 博士課程後期3年の過程
Japan Advanced Institute of Science and Technology School of Information Science 情報処理学専攻
2004.4 - 2006.3
Notes: 博士前期過程
Information Processing Society of Japan
Japan Society for Software Science and Technology
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
Committee type:Academic society
ACM SIGPLAN ML Family Workshop 2021 A program committee member
2021.8
日本ソフトウェア科学会プログラミング論研究会 運営委員
2021.4
Committee type:Academic society
第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
Committee type:Academic society
第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
型別名を保存する型推論アルゴリズム Reviewed
佐藤 季樹, 上野 雄大
第26回プログラミングおよびプログラミング言語ワークショップ (PPL 2024) 2024.3
Concurrent and Parallel Garbage Collection for Lightweight Threads on Multicore Processors Reviewed
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 Reviewed
Atsushi Ohori, Katsuhiro Ueno
APLAS 2021: Programming Languages and Systems 140 - 159 2021.10
自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式 Reviewed
上野雄大
第22回プログラミングおよびプログラミング言語ワークショップ (PPL 2020) 2020.3
Progress report: Ruby 3における静的型解析の実現に向けて Reviewed
遠藤侑介, 松本宗太郎, 上野雄大, 住井英二郎, 松本行弘
第21回プログラミングおよびプログラミング言語ワークショップ (PPL2019) 2019.3
関数型言語SML#のためのコードレベルデバッグ環境の実現方式 Reviewed
大野一樹, 上野雄大, 大堀淳
情報処理学会論文誌 プログラミング(PRO) 11 ( 3 ) 1 - 13 2018.9
Finitary Polymorphism for Optimizing Type-Directed Compilation Reviewed
Atsushi Ohori, Katsuhiro Ueno, Hisayuki Mima
Proceedings of the ACM on Programming Languages 2 ( ICFP ) 1 - 29 2018.7
Typed template engine based on partially dynamic records Reviewed
Mifuyu Osaka, Katsuhiro Ueno, Atsushi Ohori
Computer Software 35 ( 3 ) 3_79 - 3_95 2018.7
ML系言語とストリーミングデータベースの統合 Reviewed
高城光平, 上野雄大, 大堀淳
The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) 2018.5
Java PathFinderによるMLプログラムの捕捉されない例外の検証 Reviewed
魚谷孝太, 上野雄大, 大堀淳
The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018) 2018.5
Making SML# a General-Purpose High-Performance Language Reviewed
Atsushi Ohori, Kenjiro Taura, Katsuhiro Ueno
ACM SIGPLAN ML Family Workshop 2017 2017.9
SML# with Natural Join Reviewed
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 Reviewed
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 Reviewed
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 Reviewed
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 Reviewed
Katsuhiro Ueno, Atsushi Ohori
Journal of Information Processing 24 ( 1 ) 141 - 151 2016.1
Code Reading Assistance for Functional Programming based on Variable Def-use Relationships Reviewed
ENDO Masanori, MUKADE Yuto, MORIHATA Akimasa, UENO Katsuhiro, OHORI Atsushi
Computer Software 32 ( 1 ) 1_194 - 1_212 2015.1
The Essence of Ruby Reviewed
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 Reviewed
Katsuhiro Ueno, Atsushi Ohori
ACM SIGPLAN ML Family Workshop 2014 2014.9
SML# in Industry: A Practical ERP System Development Reviewed
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統合機能への行集約機能の実装 Reviewed
斎藤皓, 上野雄大, 森畑明昌, 大堀淳
第16回プログラミングおよびプログラミング言語ワークショップ (PPL 2014) 2014.3
SML#のデータベース連携機能を活用したウェブアプリケーション構築技術 Reviewed
藤井貴啓, 上野雄大, 森畑明昌, 大堀淳
第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013) 2013.3
Cとの連携機能を持つ関数型言語におけるプロファイラの試作 Reviewed
朝井雄大, 上野雄大, 森畑明昌, 大堀淳
第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013) 2013.3
Design and Implementation of Lightweight First-class Overloading Reviewed
Katsuhiro Ueno, Atsushi Ohori
Computer Software 29 ( 1 ) 1_191 - 1_210 2012.1
An Efficient Non-Moving Garbage Collector for Functional Languages Reviewed
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 Reviewed
Atsushi Ohori, Katsuhiro Ueno
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming 46 ( 9 ) 307 - 319 2011.9
宣言的記述からの関数型言語によるゲームプログラムの導出 Reviewed
松島勇介, 上野雄大, 森畑明昌, 大堀淳
第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2010) 2011.3
生存区間を変数名とする中間表現の実装と, それに基づく最適化 Reviewed
高橋和将, 森畑明昌, 上野雄大, 大堀淳
第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2011) 2011.3
Foreign Function Interface of SML# Reviewed
Katsuhiro Ueno, Atsushi Ohori
Computer Software 27 ( 2 ) 2_142 - 2_168 2010.5
A Calculus for Merging Control Flows Reviewed
Katsuhiro Ueno, Atsushi Ohori
1 ( 3 ) 19 - 33 2008.10
An Optimized Type Inference Algorithm with Lazy Type Substitution Reviewed
Katsuhiro Ueno, Atsushi Ohori
Computer Software 25 ( 2 ) 2_101 - 2_113 2008.5
SML#で始める実践MLプログラミング
大堀 淳, 上野 雄大( Role: Joint author)
共立出版 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 Invited International conference
Katsuhiro Ueno
MoreVMs'23 2023.3
SML#コンパイラを使いこなす Invited
上野雄大, 大堀淳
PPLサマースクール2018 2018.8
The SML# compiler backend: compiling ML to C-compatible low-level code Invited International conference
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 日本ソフトウェア科学会 多相レコード計算に基づく軽量な第一級オーバーロードの設計と実装
Development of a Functional Programming Language without Abstraction of Computing Resources
Grant number:24K14894
2024.4 - 2029.3
System name:Grants-in-Aid for Scientific Research
Research category:Grant-in-Aid for Scientific Research (C)
Awarding organization:Japan Society for the Promotion of Science
Grant amount:\4550000 ( Direct Cost: \3500000 、 Indirect Cost:\1050000 )
ソフトウェアのビルド手続きを系統的に記述するための新たな枠組みの開発
2023.9 - 2024.3
System name:試験研究費
Awarding organization:公益財団法人新潟工学振興会
Authorship:Principal investigator
Grant number:19K11893
2019.4 - 2023.3
System name:科学研究費助成事業 基盤研究(C)
Research category:基盤研究(C)
Awarding organization:日本学術振興会
上野 雄大
Authorship:Principal investigator
Grant amount:\4290000 ( Direct Cost: \3300000 、 Indirect Cost:\990000 )
本研究の一般的な目的は,C言語やFORTRANに匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することである.この実現に向けて,本研究では,主に関数型言語のコードが行うメモリの使い方に着目し,暗黙的なメモリ操作や大域的同期を含まないコードを生成するコンパイル方式の開発,および関数型言語の高いメモリ要求に耐える性能を発揮する並行・並列メモリ管理方式の構築を目指した研究を実施している.本年度は,主にソフトウェア開発およびコンパイル方式の理論的基礎の検討を行い,以下の成果を得た.
(1) 本研究で開発している並行並列ガベージコレクション(GC)アルゴリズムのSML#コンパイラにおける実装に含まれていた潜在的なパフォーマンス上の問題点を発見し,パラメタの細やかなチューニングを含めた修正を行い,方式および実装の完成度を更に高めた.また,このGCの利用を前提としたSML#のスレッドバインディングのバグを修正した.
(2) 駆動するCPUコアの数を増やすことで実行時間が短縮されることが期待できる,自明でないタスク並列ベンチマークプログラムを複数の言語で作成し,多言語との比較を含む性能評価を行い,本研究で開発したGC方式の優れた効果を改めて確認した.
(3) 本研究が目指す,暗黙的なメモリ操作を含まないコードを生成するコンパイル方式を綿密に検討する過程において,メモリの使い方が明らかな操作的意味論の必要性とその構成に関する着想を得た.この着想は,宣言的で抽象度が高い記述をしながら,マルチコアCPUやメモリなどの具象的な計算資源を緻密に制御することを可能とする,新しい関数型言語の実現に繋がる可能性がある.
Development of Functional Language Capable of Parallel Computation on Multicore Processors
Grant number:18K11233
2018.4 - 2022.3
System name:Grants-in-Aid for Scientific Research Grant-in-Aid for Scientific Research (C)
Research category:Grant-in-Aid for Scientific Research (C)
Awarding organization:Japan Society for the Promotion of Science
OHORI Atsushi, UENO Katsuhiro
Authorship:Coinvestigator(s)
Grant amount:\4290000 ( Direct Cost: \3300000 、 Indirect Cost:\990000 )
A systematic approach for developing practical programming languages
Grant number:15K15964
2015.4 - 2019.3
System name:Grants-in-Aid for Scientific Research Grant-in-Aid for Young Scientists (B)
Research category:Grant-in-Aid for Young Scientists (B)
Awarding organization:Japan Society for the Promotion of Science
UENO Katsuhiro
Authorship:Principal investigator
Grant amount:\3900000 ( Direct Cost: \3000000 、 Indirect Cost:\900000 )
We conducted research on systematic design and implementation of a practical programming language. Major achievements includes the following: (1) By applying the idea of record polymorphism, we decomposed the Ruby language into a set of simple calculi and composed them systematically into the operational semantics of the whole langauge. In addition, we built an interpreter from the semantics. (2) In cooperation with the Ruby development team, we developed a type profiler and type checker for the Ruby language. A part of this development is based on the decompositional understanding of Ruby's operational semantics. (3) For functional programming language development, we developed a technique for typed JSON manipulation in a statically-typed language and concurrent garbage collector that does not stop the world.
Basic research on implementation technology for making SML# a practical polymorphic language
Grant number:25280019
2013.4 - 2018.3
System name:Grants-in-Aid for Scientific Research Grant-in-Aid for Scientific Research (B)
Research category:Grant-in-Aid for Scientific Research (B)
Awarding organization:Japan Society for the Promotion of Science
OHORI Atsushi, UENO Katsuhiro
Authorship:Coinvestigator(s)
Grant amount:\8190000 ( Direct Cost: \6300000 、 Indirect Cost:\1890000 )
We conducted basic research on implementation technology for making SML# a practical polymorphic language. Major achievements include the following: (1) the development of code generation method for general purpose low-level code language and an LLVM back-end for SML#, (2) fully concurrent GC algorithm for multicore CPUs and its implementation, (3) SML# JSON support based on the type system of partially dynamic records, (4) a practical ERP system development with industry. We have implemented those achievements in the SML# compiler and have released the compiler. To enhance the robustness of the SML# compiler, we have also developed a systematic test environment of the SML# compiler.
A study on high-level and safe interoperability of programming languages
Grant number:24700021
2012.4 - 2015.3
System name:Grants-in-Aid for Scientific Research Grant-in-Aid for Young Scientists (B)
Research category:Grant-in-Aid for Young Scientists (B)
Awarding organization:Japan Society for the Promotion of Science
UENO Katsuhiro
Authorship:Principal investigator
Grant amount:\2730000 ( Direct Cost: \2100000 、 Indirect Cost:\630000 )
Towards constructing a secure application by combining multiple programming languages, this reserch has developed a new approach for a strongly typed functional language to interoperate with an untyped language by generating a secure glue code between the two languages from type annotations of shell scripts. This research also has implemented an extension to SML#, a variant of Standard ML, that allows the programmer to embed shell scripts directly in an ML program. In addition, towards interoperability with Ruby, this research has presented a formal operational semantics that can serve as a high-level specification of Ruby.
A Study on Proof-Theoretical Foundations for Compiler Construction
Grant number:22500023
2010 - 2012
System name:Grants-in-Aid for Scientific Research Grant-in-Aid for Scientific Research (C)
Research category:Grant-in-Aid for Scientific Research (C)
Awarding organization:Japan Society for the Promotion of Science
OHORI Atsushi, UENO Katsuhiro, MORIHATA Akimasa
Authorship:Coinvestigator(s)
Grant amount:\3770000 ( Direct Cost: \2900000 、 Indirect Cost:\870000 )
Based on the novel observations that each of compiler intermediate languages can be represented as a proof system of the intuitionistic propositional logic, and that transformation between these languages corresponds to proof transformation, this research has shown that a compilation process of a functional language is represented by the composition of proof transformations from the natural deduction proof system to a variant of a sequent calculus that represents a code language, and that a compilation algorithm is mechanically extracted from the meta-level proof of the existence of such a proof transformation.
システムソフトウェア特論
自然科学総論3
情報システム基礎実習
システムソフトウェア構成論
プログラミングA3
プログラミングA2
コンパイラ
プログラミングA1
ソフトウェア構成論
プログラミング演習B
創造工学研修
プログラミング演習B
Institution name:東北大学工学部情報知能システム総合学科
電気・通信・電子・情報工学実験
Institution name:東北大学工学部情報知能システム総合学科
知能情報システム実験IV
知能情報システム実験III
自然科学総論III
システムソフトウェア特論
システムソフトウェア構成論
工学リテラシー入門(情報電子分野)
プログラミングAIII
情報システム基礎実習
プログラミングAII
プログラミングAI
コンパイラ