• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

A systematic approach for developing practical programming languages

Research Project

Project/Area Number 15K15964
Research Category

Grant-in-Aid for Young Scientists (B)

Allocation TypeMulti-year Fund
Research Field Software
Research InstitutionTohoku University

Principal Investigator

Ueno Katsuhiro  東北大学, 電気通信研究所, 准教授 (60551554)

Project Period (FY) 2015-04-01 – 2019-03-31
Project Status Completed (Fiscal Year 2018)
Budget Amount *help
¥3,900,000 (Direct Cost: ¥3,000,000、Indirect Cost: ¥900,000)
Fiscal Year 2018: ¥650,000 (Direct Cost: ¥500,000、Indirect Cost: ¥150,000)
Fiscal Year 2017: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2016: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2015: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Keywordsプログラミング言語 / スクリプト言語 / 関数型言語 / 操作的意味論 / 型検査 / 静的解析 / Ruby / SML# / コンパイラ / 実装方式 / 最適化 / コード分析
Outline of Final Research Achievements

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.

Academic Significance and Societal Importance of the Research Achievements

あらゆるサービスがソフトウェアによって運用される情報化社会が信頼性と安全性を保ちつつ発展するには,サービスの複雑さや質を落とすことなく信頼性の高いソフトウェアを構築する技術の確立が望まれる.プログラミング言語の研究開発はその中核をなす重要な課題である.本研究成果は,広く産業利用され社会的に重要な地位をすでに築いている実用プログラミング言語を高信頼化するための技術開発,および世界的に研究が進められている高信頼プログラミング言語を実用化するための基礎研究の両面から高信頼ソフトウェア開発基盤の実現に貢献したことに,学術的および社会的な意義がある.

Report

(5 results)
  • 2018 Annual Research Report   Final Research Report ( PDF )
  • 2017 Research-status Report
  • 2016 Research-status Report
  • 2015 Research-status Report
  • Research Products

    (13 results)

All 2019 2018 2017 2016 Other

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Open Access: 1 results) Presentation (8 results) (of which Int'l Joint Research: 5 results) Remarks (4 results)

  • [Journal Article] Typed template engine based on partially dynamic records2018

    • Author(s)
      逢坂美冬, 上野雄大, 大堀淳
    • Journal Title

      Computer Software

      Volume: 35 Issue: 3 Pages: 3_79-3_95

    • DOI

      10.11309/jssst.35.3_79

    • NAID

      130007488458

    • ISSN
      0289-6540
    • Year and Date
      2018-07-25
    • Related Report
      2018 Annual Research Report 2017 Research-status Report
    • Peer Reviewed / Open Access
  • [Presentation] Progress report: Ruby 3における静的型解析の実現に向けて2019

    • Author(s)
      遠藤侑介, 松本宗太郎, 上野雄大, 住井英二郎, 松本行弘
    • Organizer
      第21回プログラミングおよびプログラミング言語ワークショップ (PPL2019)
    • Related Report
      2018 Annual Research Report
  • [Presentation] Finitary Polymorphism for Optimizing Type-Directed Compilation2018

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno, Hisayuki Mima
    • Organizer
      the 23rd ACM SIGPLAN International Conference on Functional Programming (ICFP'18)
    • Related Report
      2018 Annual Research Report
    • Int'l Joint Research
  • [Presentation] 多相関数を含むプログラムの抽象解釈を用いた最適化2017

    • Author(s)
      美馬久行, 上野雄大, 大堀淳
    • Organizer
      日本ソフトウェア科学会第34回大会
    • Related Report
      2017 Research-status Report
  • [Presentation] SML#のためのコードレベルデバッグ環境の構築に向けて2017

    • Author(s)
      大野一樹, 上野雄大, 大堀淳
    • Organizer
      日本ソフトウェア科学会第34回大会
    • Related Report
      2017 Research-status Report
  • [Presentation] Making SML# a general-purpose high-performance language2017

    • Author(s)
      Atsushi Ohori, Kenjiro Taura, Katsuhiro Ueno
    • Organizer
      ACM SIGPLAN Workshop on ML
    • Related Report
      2017 Research-status Report
    • Int'l Joint Research
  • [Presentation] A Calculus with Partially Dynamic Records for Typeful Manipulation of JSON Objects2016

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno, Tomohiro Sasaki, Daisuke Kikuchi
    • Organizer
      The European Conference on Object-Oriented Programming 2016 (ECOOP 2016)
    • Place of Presentation
      ローマ
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] SML# with typeful manipulation of JSON objects2016

    • Author(s)
      Atsushi Ohori, Katsuhiro Ueno, Tomohiro Sasaki, Daisuke Kikuchi
    • Organizer
      The European Conference on Object-Oriented Programming 2016 (ECOOP 2016)
    • Place of Presentation
      ローマ
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] A Fully Concurrent Garbage Collector for Functional Programs on Multicore Processors2016

    • Author(s)
      Katsuhiro Ueno, Atsushi Ohori
    • Organizer
      The 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)
    • Place of Presentation
      奈良
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Remarks] SML# Project

    • URL

      https://www.pllab.riec.tohoku.ac.jp/smlsharp/

    • Related Report
      2018 Annual Research Report
  • [Remarks] SML# Project

    • URL

      http://www.pllab.riec.tohoku.ac.jp/

    • Related Report
      2017 Research-status Report
  • [Remarks] SML# Project

    • URL

      http://www.pllab.riec.tohoku.ac.jp/smlsharp/

    • Related Report
      2016 Research-status Report
  • [Remarks] SML# project

    • URL

      http://www.pllab.riec.tohoku.ac.jp/smlsharp/

    • Related Report
      2015 Research-status Report

URL: 

Published: 2015-04-16   Modified: 2022-11-04  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi