2023/04/01 更新

写真a

ウエノ カツヒロ
上野 雄大
UENO Katsuhiro
所属
教育研究院 自然科学系 情報電子工学系列 准教授
自然科学研究科 電気情報工学専攻 准教授
工学部 工学科 准教授
職名
准教授
外部リンク

学位

  • 博士(情報科学) ( 2009年3月   東北大学 )

研究キーワード

  • ML

  • プログラミング言語

  • コンパイラ

  • 関数型言語

  • 型理論

研究分野

  • 情報通信 / ソフトウェア

経歴(researchmap)

  • 新潟大学   自然科学系 情報電子工学系列   准教授

    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年の過程

    researchmap

  • 北陸先端科学技術大学院大学   情報科学系   情報処理学専攻

    2004年4月 - 2006年3月

      詳細を見る

    備考: 博士前期過程

    researchmap

所属学協会

委員歴

  • 情報処理学会プログラミング研究会   幹事  

    2022年4月 - 現在   

      詳細を見る

    団体区分:学協会

    researchmap

  • ACM SIGPLAN ML Family Workshop 2021   A program committee member  

    2021年8月   

      詳細を見る

  • 日本ソフトウェア科学会プログラミング論研究会   運営委員  

    2021年4月 - 現在   

      詳細を見る

    団体区分:学協会

    researchmap

  • 第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月   

      詳細を見る

    団体区分:学協会

    researchmap

  • 第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月   

      詳細を見る

▶ 全件表示

 

論文

  • 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月

     詳細を見る

    掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM  

    DOI: 10.1145/3520263.3534652

    researchmap

  • A Compilation Method for Dynamic Typing in ML 査読

    Atsushi Ohori, Katsuhiro Ueno

    APLAS 2021: Programming Languages and Systems   140 - 159   2021年10月

     詳細を見る

    掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Springer International Publishing  

    DOI: 10.1007/978-3-030-89051-3_9

    researchmap

  • 自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式 査読

    上野雄大

    第22回プログラミングおよびプログラミング言語ワークショップ (PPL 2020)   2020年3月

     詳細を見る

  • Progress report: Ruby 3における静的型解析の実現に向けて 査読

    遠藤侑介, 松本宗太郎, 上野雄大, 住井英二郎, 松本行弘

    第21回プログラミングおよびプログラミング言語ワークショップ (PPL2019)   2019年3月

     詳細を見る

  • 関数型言語SML#のためのコードレベルデバッグ環境の実現方式 査読

    大野一樹, 上野雄大, 大堀淳

    情報処理学会論文誌 プログラミング(PRO)   11 ( 3 )   1 - 13   2018年9月

     詳細を見る

    掲載種別:研究論文(学術雑誌)  

    researchmap

  • 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月

     詳細を見る

    掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Association for Computing Machinery (ACM)  

    DOI: 10.1145/3236776

    researchmap

  • 部分動的レコードを活用した型付きテンプレートエンジンの実現 査読

    逢坂美冬, 上野雄大, 大堀淳

    コンピュータソフトウェア   35 ( 3 )   3_79 - 3_95   2018年7月

     詳細を見る

    掲載種別:研究論文(学術雑誌)  

    DOI: 10.11309/jssst.35.3_79

    researchmap

  • 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月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM Press  

    DOI: 10.1145/2951913.2951944

    Web of Science

    researchmap

  • A Foreign Language Interface from ML to Shell 査読

    Katsuhiro Ueno, Atsushi Ohori

    New Generation Computing   34 ( 3 )   239 - 256   2016年8月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(学術雑誌)   出版者・発行元:Springer Tokyo  

    This paper proposes a new approach to embedding shell scripts in an ML-style typed functional language. Instead of representing each construct in the shell script language as a typed component, the proposed approach treats an untyped shell script program as a typed function. The programmer writes a shell script and specifies its type according to the intention of his/her script. The ML compiler automatically generates glue codes that serialize and de-serialize input and output data. With this embedding mechanism, an ML programmer can enjoy the full benefits of shell programming directly within an ML program. The proposed approach has been implemented in our SML# compiler.

    DOI: 10.1007/s00354-016-0303-1

    Web of Science

    Scopus

    researchmap

    その他リンク: http://link.springer.com/article/10.1007/s00354-016-0303-1/fulltext.html

  • 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月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing  

    This paper investigates language constructs for high-level and type-safe manipulation of JSON objects in a typed functional language. A major obstacle in representing JSON in a static type system is their heterogeneous nature: in most practical JSON APIs, a JSON array is a heterogeneous list consisting of, for example, objects having common fields and possibly some optional fields. This paper presents a typed calculus that reconciles static typing constraints and heterogeneous JSON arrays based on the idea of partially dynamic records originally proposed and sketched by Buneman and Ohori for complex database object manipulation. Partially dynamic records are dynamically typed records, but some parts of their structures are statically known. This feature enables us to represent JSON objects as typed data structures. The proposed calculus smoothly extends with ML-style pattern matching and record polymorphism. These results yield a typed functional language where the programmer can directly import JSON data as terms having static types, and can manipulate them with the full benefits of static polymorphic type-checking. The proposed calculus has been embodied in SML#, an extension of Standard ML with record polymorphism and other practically useful features. This paper also reports on the details of the implementation and demonstrates its feasibility through examples using actual Web APIs. The SML# version 3.1.0 compiler includes JSON support presented in this paper and is available from Tohoku University as open-source software under a BSD-style license.

    DOI: 10.4230/LIPIcs.ECOOP.2016.18

    Scopus

    researchmap

  • 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月

     詳細を見る

    掲載種別:研究論文(学術雑誌)   出版者・発行元:Information Processing Society of Japan  

    DOI: 10.2197/ipsjjip.24.141

    Scopus

    researchmap

  • 変数参照関係を用いた関数型プログラムのコードリーディング支援 査読

    遠藤 誠典, 百足 勇人, 森畑 明昌, 上野 雄大, 大堀 淳

    コンピュータソフトウェア   32 ( 1 )   1_194 - 1_212   2015年1月

     詳細を見る

    記述言語:日本語   掲載種別:研究論文(学術雑誌)   出版者・発行元:日本ソフトウェア科学会  

    既存のプログラムを再利用したり,複数人でプログラムを開発したりする際など,コードを読み内容を理解する必要に迫られることは少なくなく,これを支援するツールが求められる.本論文では,関数型プログラム向けのコードリーディング支援ツールの試作について報告する.我々の試作は,関数型プログラムはデータフローによって計算を行っており,データフローは変数に代表される名前の依存関係によって表現される,との洞察に基づいている.これをふまえ,本試作は,コンパイラを用いて名前の依存関係を取得し,その情報を以下の2つの機能として提示する.1つは,名前の参照位置からその定義位置へエディタ上でカーソルを移動させる機能である.これはデータフローを追跡するのに役立つ.もう1つは,変数や関数の依存関係をもとにファイル間の依存関係を可視化する機能であり,これにより各モジュールがどのモジュールで定義された資源を利用しているかを直感的に把握できる.

    DOI: 10.11309/jssst.32.1_194

    CiNii Article

    researchmap

  • The Essence of Ruby 査読

    Katsuhiro Ueno, Yutaka Fukasawa, Akimasa Morihata, Atsushi Ohori

    Programming Languages and Systems   78 - 98   2014年11月

     詳細を見る

    掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Springer International Publishing  

    DOI: 10.1007/978-3-319-12736-1_5

    researchmap

  • 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月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:Association for Computing Machinery  

    This paper reports on our industry-academia project of using a functional language in business software production. The general motivation behind the project is our ultimate goal of adopting an ML-style higher-order typed functional language in a wide range of ordinary software development in industry. To probe the feasibility and identify various practical problems and needs, we have conducted a 15 month pilot project for developing an enterprise resource planning (ERP) system in SML#. The project has successfully completed as we have planned, demonstrating the feasibility of SML#. In particular, seamless integration of SQL and direct C language interface are shown to be useful in reliable and efficient development of a data intensive business application. During the program development, we have found several useful functional programming patterns and a number of possible extensions of an ML-style language with records. This paper reports on the project details and the lessons learned from the project. © 2014 ACM.

    DOI: 10.1145/2628136.2628164

    Web of Science

    Scopus

    researchmap

  • 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月

     詳細を見る

    掲載種別:研究論文(学術雑誌)  

    DOI: 10.11309/jssst.29.1_191

    researchmap

  • 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月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM Press  

    Motivated by developing a memory management system that allows functional languages to seamlessly inter-operate with C, we propose an efficient non-moving garbage collection algorithm based on bitmap marking and report its implementation and performance evaluation. In our method, the heap consists of sub-heaps {Hi | c ≤ i ≤ B} of exponentially increasing allocation sizes (Hi for 2i bytes) and a special sub-heap for exceptionally large objects. Actual space for each sub-heap is dynamically allocated and reclaimed from a pool of fixed size allocation segments. In each allocation segment, the algorithm maintains a bitmap representing the set of live objects. Allocation is done by searching for the next free bit in the bitmap. By adding meta-level bitmaps that summarize the contents of bitmaps hierarchically and maintaining the current bit position in the bitmap hierarchy, the next free bit can be found in a small constant time for most cases, and in log32(segmentSize) time in the worst case on a 32-bit architecture. The collection is done by clearing the bitmaps and tracing live objects. The algorithm can be extended to generational GC by maintaining multiple bitmaps for the same heap space. The proposed method does not require compaction and objects are not moved at all. This property is significant for a functional language to inter-operate with C, and it should also be beneficial in supporting multiple native threads. The proposed method has been implemented in a full-scale Standard ML compiler. Our benchmark tests show that our nonmoving collector performs as efficiently as a generational copying collector designed for functional languages. Copyright © 2011 ACM.

    DOI: 10.1145/2034574.2034802

    Web of Science

    Scopus

    researchmap

  • 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月

     詳細を見る

    記述言語:英語   掲載種別:研究論文(国際会議プロシーディングス)   出版者・発行元:ACM Press  

    Integrating a database query language into a programming language is becoming increasingly important in recently emerging high-level cloud computing and other applications, where efficient and sophisticated data manipulation is required during computation. This paper reports on seamless integration of SQL into SML# - an extension of Standard ML. In the integrated language, the type system always infers a principal type for any type consistent SQL expression. This makes SQL queries first-class citizens, which can be freely combined with any other language constructs definable in Standard ML. For a program involving SQL queries, the compiler separates SQL queries and delegates their evaluation to a database server, e.g. PostgreSQL or MySQL in the currently implemented version. The type system of our language is largely based on Machiavelli, which demonstrates that ML with record polymorphism can represent type structure of SQL. In order to develop a practical language, however, a number of technical challenges have to be overcome, including static enforcement of server connection consistency, proper treatment of overloaded SQL primitives, query compilation, and runtime connection management. This paper describes the necessary extensions to the type system and compilation, and reports on the details of its implementation. Copyright © 2011 ACM.

    DOI: 10.1145/2034574.2034815

    Web of Science

    Scopus

    researchmap

  • 宣言的記述からの関数型言語によるゲームプログラムの導出 査読

    松島勇介, 上野雄大, 森畑明昌, 大堀淳

    第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2010)   2011年3月

     詳細を見る

  • 生存区間を変数名とする中間表現の実装と, それに基づく最適化 査読

    高橋和将, 森畑明昌, 上野雄大, 大堀淳

    第13回プログラミングおよびプログラミング言語ワークショップ (PPL 2011)   2011年3月

     詳細を見る

  • SML#の外部関数インターフェース 査読

    上野雄大, 大堀淳

    コンピュータソフトウェア   27 ( 2 )   2_142 - 2_168   2010年5月

     詳細を見る

    記述言語:日本語   掲載種別:研究論文(学術雑誌)  

    DOI: 10.11309/jssst.27.2_142

    researchmap

  • 制御フローの合流のための計算系 査読

    上野雄大, 大堀淳

    情報処理学会論文誌プログラミング(PRO)   1 ( 3 )   19 - 33   2008年10月

     詳細を見る

    記述言語:日本語   掲載種別:研究論文(学術雑誌)  

    researchmap

  • 型代入を遅延する最適化型推論アルゴリズム 査読

    上野雄大, 大堀淳

    コンピュータソフトウェア   25 ( 2 )   2_101 - 2_113   2008年5月

     詳細を見る

    記述言語:日本語   掲載種別:研究論文(学術雑誌)  

    DOI: 10.11309/jssst.25.2_101

    researchmap

▶ 全件表示

書籍等出版物

  • SML#で始める実践MLプログラミング

    大堀 淳, 上野 雄大( 担当: 共著)

    共立出版  2021年4月  ( ISBN:9784320124714

     詳細を見る

    総ページ数:vii, 231p   記述言語:日本語

    CiNii Books

    researchmap

MISC

講演・口頭発表等

Works(作品等)

受賞

  • 第37回高橋奨励賞

    2021年1月   日本ソフトウェア科学会   自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式

     詳細を見る

  • 第37回大会優秀発表賞

    2020年10月   日本ソフトウェア科学会   自然なデータ表現を持つ多相型言語のLLVM IRへのコンパイル方式

     詳細を見る

  • 第24回研究論文賞

    2020年9月   日本ソフトウェア科学会   部分動的レコードを活用した型付きテンプレートエンジンの実現

    逢坂美冬, 上野雄大, 大堀淳

     詳細を見る

  • トーキン財団奨励賞

    2015年3月   公益財団法人トーキン科学技術振興財団   高信頼プログラミング言語の実用化技術の研究および次世代言語処理系の開発

     詳細を見る

  • 第27回大会高橋奨励賞

    2011年1月   日本ソフトウェア科学会   多相レコード計算に基づく軽量な第一級オーバーロードの設計と実装

     詳細を見る

    受賞区分:国内学会・会議・シンポジウム等の賞  受賞国:日本国

    researchmap

共同研究・競争的資金等の研究

▶ 全件表示

 

担当経験のある授業科目(researchmap)

  • プログラミングA2

    2022年6月
    機関名:新潟大学工学部工学科知能情報システムプログラム

     詳細を見る

  • コンパイラ

    2022年6月
    機関名:新潟大学工学部工学科知能情報システムプログラム

     詳細を見る

  • プログラミングA1

    2022年4月
    機関名:新潟大学工学部工学科知能情報システムプログラム

     詳細を見る

  • ソフトウェア構成論

    2018年6月
    -
    2020年2月
    機関名:東北大学大学院情報科学研究科

     詳細を見る

  • プログラミング演習B

    2016年4月
    -
    2021年8月
    機関名:東北大学工学部電気情報物理工学科

     詳細を見る

  • 創造工学研修

    2009年10月
    -
    2020年2月
    機関名:東北大学工学部

     詳細を見る

  • プログラミング演習B

    機関名:東北大学工学部情報知能システム総合学科

     詳細を見る

  • 電気・通信・電子・情報工学実験

    機関名:東北大学工学部情報知能システム総合学科

     詳細を見る

▶ 全件表示

担当経験のある授業科目

  • システムソフトウェア特論

    2022年
    -
    現在
    機関名:新潟大学

  • システムソフトウェア構成論

    2022年
    -
    現在
    機関名:新潟大学

  • 工学リテラシー入門(情報電子分野)

    2022年
    -
    現在
    機関名:新潟大学

  • プログラミングAIII

    2022年
    -
    現在
    機関名:新潟大学

  • 情報システム基礎実習

    2022年
    -
    現在
    機関名:新潟大学

  • プログラミングAII

    2022年
    -
    現在
    機関名:新潟大学

  • プログラミングAI

    2022年
    -
    現在
    機関名:新潟大学

  • コンパイラ

    2022年
    -
    現在
    機関名:新潟大学

▶ 全件表示