Updated on 2024/04/26

写真a

 
UENO Katsuhiro
 
Organization
Academic Assembly Institute of Science and Technology JOUHOU DENSHI KOUGAKU KEIRETU Associate Professor
Graduate School of Science and Technology Electrical and Information Engineering Associate Professor
Faculty of Engineering Department of Engineering Associate Professor
Title
Associate Professor
External link

Degree

  • Doctor of Philosophy (Information Sciences) ( 2009.3   Tohoku University )

Research Interests

  • ML

  • プログラミング言語

  • コンパイラ

  • 関数型言語

  • 型理論

Research Areas

  • Informatics / Software

Research History (researchmap)

  • Niigata University   Academic Assembly Institute of Science and Technology   Associate Professor

    2021.10

      More details

  • Research Institute of Electrical Communication, Tohoku University   Associate Professor

    2016.6 - 2021.9

      More details

  • Research Institute of Electrical Communication, Tohoku University   Assistant Professor

    2009.4 - 2016.5

      More details

  • Research Institute of Electrical Communication, Tohoku University   Industry-Academia-Government Collaboration Researcher

    2006.6 - 2008.3

      More details

Research History

  • 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

Education

  • Tohoku University   Graduate School of Information Sciences   Department of System Information Sciences

    2006.4 - 2009.3

      More details

    Notes: 博士課程後期3年の過程

    researchmap

  • Japan Advanced Institute of Science and Technology   School of Information Science   情報処理学専攻

    2004.4 - 2006.3

      More details

    Notes: 博士前期過程

    researchmap

Professional Memberships

  • Information Processing Society of Japan

      More details

  • Japan Society for Software Science and Technology

      More details

Committee Memberships

  • Libraries, Languages and Compilers for Array Programming (ARRAY 2023)   A Program Committee Member  

    2023.6   

      More details

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

    2022.4   

      More details

    Committee type:Academic society

    researchmap

  • ACM SIGPLAN ML Family Workshop 2021   A program committee member  

    2021.8   

      More details

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

    2021.4   

      More details

    Committee type:Academic society

    researchmap

  • 第23回プログラミングおよびプログラミング言語ワークショップ (PPL 2021)   プログラム共同委員長  

    2021.3   

      More details

  • The 3rd cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2019)   プログラム委員  

    2019.5   

      More details

  • The 23rd ACM SIGPLAN International Conference on Functional Programming (ICFP 2018)   A program committee member  

    2018.9   

      More details

  • The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018)   プログラム委員  

    2018.4   

      More details

  • 第20回プログラミングおよびプログラミング言語ワークショップ (PPL 2018)   プログラム委員  

    2018.3   

      More details

  • The 1st cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2017)   プログラム委員  

    2017.4   

      More details

  • 第19回プログラミングおよびプログラミング言語ワークショップ (PPL 2017)   プログラム委員  

    2017.3   

      More details

  • The 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)   An external reviewer committee member  

    2016.9   

      More details

  • ACM SIGPLAN ML Family Workshop 2016   A programme committee member  

    2016.9   

      More details

  • 日本ソフトウェア科学会第33回大会   運営委員長  

    2016.9   

      More details

  • 情報処理学会プログラミング研究会   運営委員  

    2016.4 - 2020.3   

      More details

    Committee type:Academic society

    researchmap

  • 第18回プログラミングおよびプログラミング言語ワークショップ (PPL 2016)   プログラム委員  

    2016.3   

      More details

  • 第18回プログラミングおよびプログラミング言語ワークショップ (PPL 2016)   組織委員  

    2016.3   

      More details

  • 情報処理学会論文誌プログラミング (PRO)   編集委員  

    2015.4 - 2019.3   

      More details

  • 第17回プログラミングおよびプログラミング言語ワークショップ (PPL 2015)   組織委員  

    2015.3   

      More details

  • 第16回プログラミングおよびプログラミング言語ワークショップ (PPL 2014)   実行副委員長  

    2014.3   

      More details

  • 第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013)   実行委員長  

    2013.3   

      More details

  • 第14回プログラミングおよびプログラミング言語ワークショップ (PPL 2012)   プログラム委員  

    2012.3   

      More details

▶ display all

 

Papers

  • 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

     More details

    Publishing type:Research paper (international conference proceedings)   Publisher:ACM  

    DOI: 10.1145/3520263.3534652

    researchmap

  • A Compilation Method for Dynamic Typing in ML Reviewed

    Atsushi Ohori, Katsuhiro Ueno

    APLAS 2021: Programming Languages and Systems   140 - 159   2021.10

     More details

    Publishing type:Research paper (international conference proceedings)   Publisher:Springer International Publishing  

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

    researchmap

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

    上野雄大

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

     More details

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

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

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

     More details

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

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

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

     More details

    Publishing type:Research paper (scientific journal)  

    researchmap

  • 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

     More details

    Publishing type:Research paper (international conference proceedings)   Publisher:Association for Computing Machinery (ACM)  

    DOI: 10.1145/3236776

    researchmap

  • 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

     More details

    Publishing type:Research paper (scientific journal)  

    DOI: 10.11309/jssst.35.3_79

    researchmap

  • ML系言語とストリーミングデータベースの統合 Reviewed

    高城光平, 上野雄大, 大堀淳

    The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018)   2018.5

     More details

  • Java PathFinderによるMLプログラムの捕捉されない例外の検証 Reviewed

    魚谷孝太, 上野雄大, 大堀淳

    The 2nd. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming (xSIG 2018)   2018.5

     More details

  • Making SML# a General-Purpose High-Performance Language Reviewed

    Atsushi Ohori, Kenjiro Taura, Katsuhiro Ueno

    ACM SIGPLAN ML Family Workshop 2017   2017.9

     More details

  • SML# with Natural Join Reviewed

    Tomohiro Sasaki, Katsuhiro Ueno, Atsushi Ohori

    ACM SIGPLAN ML Family Workshop 2016   2016.9

     More details

  • 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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher:ACM Press  

    DOI: 10.1145/2951913.2951944

    Web of Science

    researchmap

  • A Foreign Language Interface from ML to Shell Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    New Generation Computing   34 ( 3 )   239 - 256   2016.8

     More details

    Language:English   Publishing type:Research paper (scientific journal)   Publisher: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

    Other Link: 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 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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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 Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    Journal of Information Processing   24 ( 1 )   141 - 151   2016.1

     More details

    Publishing type:Research paper (scientific journal)   Publisher:Information Processing Society of Japan  

    DOI: 10.2197/ipsjjip.24.141

    Scopus

    researchmap

  • 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

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)   Publisher:日本ソフトウェア科学会  

    Code reading is important in several situations, including reusing existing programs and developing a program by several persons. In this paper, we report on our prototype implementation of a code-reading assistance tool for a functional programming language. Our tool is based on an observation that name, such as variable names, is the basic ingredient of the data-flow, which represents computations in functional programs. Our tool provides the following two functionalities by using dependencies between names calculated by a compiler: it can find definitions of names from their uses, and vice versa; it can visualize dependencies of source files based on dependencies of variables and functions in them and thereby helps us intuitively understand resources that each module uses.

    DOI: 10.11309/jssst.32.1_194

    CiNii Article

    researchmap

  • The Essence of Ruby Reviewed

    Katsuhiro Ueno, Yutaka Fukasawa, Akimasa Morihata, Atsushi Ohori

    Programming Languages and Systems   78 - 98   2014.11

     More details

    Publishing type:Research paper (international conference proceedings)   Publisher: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 Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    ACM SIGPLAN ML Family Workshop 2014   2014.9

     More details

  • 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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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統合機能への行集約機能の実装 Reviewed

    斎藤皓, 上野雄大, 森畑明昌, 大堀淳

    第16回プログラミングおよびプログラミング言語ワークショップ (PPL 2014)   2014.3

     More details

  • SML#のデータベース連携機能を活用したウェブアプリケーション構築技術 Reviewed

    藤井貴啓, 上野雄大, 森畑明昌, 大堀淳

    第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013)   2013.3

     More details

  • Cとの連携機能を持つ関数型言語におけるプロファイラの試作 Reviewed

    朝井雄大, 上野雄大, 森畑明昌, 大堀淳

    第15回プログラミングおよびプログラミング言語ワークショップ (PPL 2013)   2013.3

     More details

  • Design and Implementation of Lightweight First-class Overloading Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    Computer Software   29 ( 1 )   1_191 - 1_210   2012.1

     More details

    Publishing type:Research paper (scientific journal)  

    DOI: 10.11309/jssst.29.1_191

    researchmap

  • 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

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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 Reviewed

    Atsushi Ohori, Katsuhiro Ueno

    Proceedings of the 16th ACM SIGPLAN international conference on Functional programming   46 ( 9 )   307 - 319   2011.9

     More details

    Language:English   Publishing type:Research paper (international conference proceedings)   Publisher: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

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

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

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

     More details

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

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

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

     More details

  • Foreign Function Interface of SML# Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    Computer Software   27 ( 2 )   2_142 - 2_168   2010.5

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)  

    DOI: 10.11309/jssst.27.2_142

    researchmap

  • A Calculus for Merging Control Flows Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    1 ( 3 )   19 - 33   2008.10

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)  

    researchmap

  • An Optimized Type Inference Algorithm with Lazy Type Substitution Reviewed

    Katsuhiro Ueno, Atsushi Ohori

    Computer Software   25 ( 2 )   2_101 - 2_113   2008.5

     More details

    Language:Japanese   Publishing type:Research paper (scientific journal)  

    DOI: 10.11309/jssst.25.2_101

    researchmap

▶ display all

Books

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

    大堀 淳, 上野 雄大( Role: Joint author)

    共立出版  2021.4  ( ISBN:9784320124714

     More details

    Total pages:vii, 231p   Language:Japanese

    CiNii Books

    researchmap

MISC

Presentations

Works

Awards

  • 第37回高橋奨励賞

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

     More details

  • 第37回大会優秀発表賞

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

     More details

  • 第24回研究論文賞

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

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

     More details

  • トーキン財団奨励賞

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

     More details

  • 第27回大会高橋奨励賞

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

     More details

    Award type:Award from Japanese society, conference, symposium, etc.  Country:Japan

    researchmap

Research Projects

  • マルチコア並列計算に対応した関数型言語処理系の実現

    Grant number:19K11893

    2019.4 - 2023.3

    System name:科学研究費助成事業 基盤研究(C)

    Research category:基盤研究(C)

    Awarding organization:日本学術振興会

    上野 雄大

      More details

    Authorship:Principal investigator 

    Grant amount:\4290000 ( Direct Cost: \3300000 、 Indirect Cost:\990000 )

    本研究の一般的な目的は,C言語やFORTRANに匹敵する並列計算性能を安定して発揮できる関数型言語処理系を実現することである.この実現に向けて,本研究では,主に関数型言語のコードが行うメモリの使い方に着目し,暗黙的なメモリ操作や大域的同期を含まないコードを生成するコンパイル方式の開発,および関数型言語の高いメモリ要求に耐える性能を発揮する並行・並列メモリ管理方式の構築を目指した研究を実施している.本年度は,主にソフトウェア開発およびコンパイル方式の理論的基礎の検討を行い,以下の成果を得た.
    (1) 本研究で開発している並行並列ガベージコレクション(GC)アルゴリズムのSML#コンパイラにおける実装に含まれていた潜在的なパフォーマンス上の問題点を発見し,パラメタの細やかなチューニングを含めた修正を行い,方式および実装の完成度を更に高めた.また,このGCの利用を前提としたSML#のスレッドバインディングのバグを修正した.
    (2) 駆動するCPUコアの数を増やすことで実行時間が短縮されることが期待できる,自明でないタスク並列ベンチマークプログラムを複数の言語で作成し,多言語との比較を含む性能評価を行い,本研究で開発したGC方式の優れた効果を改めて確認した.
    (3) 本研究が目指す,暗黙的なメモリ操作を含まないコードを生成するコンパイル方式を綿密に検討する過程において,メモリの使い方が明らかな操作的意味論の必要性とその構成に関する着想を得た.この着想は,宣言的で抽象度が高い記述をしながら,マルチコアCPUやメモリなどの具象的な計算資源を緻密に制御することを可能とする,新しい関数型言語の実現に繋がる可能性がある.

    researchmap

  • 超並列技術をML系高信頼言語SML#に統合した超並列関数型言語の実現と最適化

    Grant number:18K11233

    2018.4 - 2022.3

    System name:科学研究費助成事業 基盤研究(C)

    Research category:基盤研究(C)

    Awarding organization:日本学術振興会

    大堀 淳, 上野 雄大

      More details

    Authorship:Coinvestigator(s) 

    Grant amount:\4290000 ( Direct Cost: \3300000 、 Indirect Cost:\990000 )

    researchmap

  • 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

      More details

    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.

    researchmap

  • 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

      More details

    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.

    researchmap

  • 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

      More details

    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.

    researchmap

  • 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

      More details

    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.

    researchmap

▶ display all

 

Teaching Experience (researchmap)

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

    2023.4
    Institution name:新潟大学院自然科学研究科電気情報工学専攻

     More details

  • 自然科学総論3

    2023.4
    -
    2023.7
    Institution name:新潟大学大学院自然科学研究科

     More details

  • 情報システム基礎実習

    2022.10
    Institution name:新潟大学工学部工学科知能情報システムプログラム

     More details

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

    2022.10
    Institution name:新潟大学院自然科学研究科電気情報工学専攻

     More details

  • プログラミングA3

    2022.10
    Institution name:新潟大学工学部工学科知能情報システムプログラム

     More details

  • プログラミングA2

    2022.6
    Institution name:新潟大学工学部工学科知能情報システムプログラム

     More details

  • コンパイラ

    2022.6
    Institution name:新潟大学工学部工学科知能情報システムプログラム

     More details

  • プログラミングA1

    2022.4
    Institution name:新潟大学工学部工学科知能情報システムプログラム

     More details

  • ソフトウェア構成論

    2018.6
    -
    2020.2
    Institution name:東北大学大学院情報科学研究科

     More details

  • プログラミング演習B

    2016.4
    -
    2021.8
    Institution name:東北大学工学部電気情報物理工学科

     More details

  • 創造工学研修

    2009.10
    -
    2020.2
    Institution name:東北大学工学部

     More details

  • プログラミング演習B

    Institution name:東北大学工学部情報知能システム総合学科

     More details

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

    Institution name:東北大学工学部情報知能システム総合学科

     More details

▶ display all

Teaching Experience

  • 知能情報システム実験IV

    2023
    Institution name:新潟大学

  • 知能情報システム実験III

    2023
    Institution name:新潟大学

  • 自然科学総論III

    2023
    Institution name:新潟大学

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

    2022
    Institution name:新潟大学

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

    2022
    Institution name:新潟大学

  • プログラミングAIII

    2022
    Institution name:新潟大学

  • 情報システム基礎実習

    2022
    Institution name:新潟大学

  • プログラミングAII

    2022
    Institution name:新潟大学

  • プログラミングAI

    2022
    Institution name:新潟大学

  • コンパイラ

    2022
    Institution name:新潟大学

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

    2022
    Institution name:新潟大学

▶ display all