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

2017 Fiscal Year Annual Research Report

クラス理論に基づく自己拡張可能なソフトウェア検証体系の深化

Research Project

Project/Area Number 17H01724
Research InstitutionKyoto University

Principal Investigator

佐藤 雅彦  京都大学, 情報学研究科, 名誉教授 (20027387)

Co-Investigator(Kenkyū-buntansha) 桜井 貴文  千葉大学, 大学院理学研究院, 教授 (60183373)
亀山 幸義  筑波大学, システム情報系, 教授 (10195000)
五十嵐 淳  京都大学, 情報学研究科, 教授 (40323456)
Project Period (FY) 2017-04-01 – 2021-03-31
Keywords仕様記述・検証 / 証明支援系 / 型理論 / ソフトウェアの安全性
Outline of Annual Research Achievements

近年のインターネットの爆発的な普及、それに伴う社会基盤としての計算機の重要性の増加により、ソフトウェアの安全性に対する要求はますます高まっている。しかし、実際のソフトウェア開発においては、ソフトウェア構築環境とは別に検証システムを用意しなければならないなど、安全性の面で充分とは言えず、バグを含んだソフトウェアが重要な箇所で利用され、重大な障害が発生している例も多い。
本研究は、この要求に答えるため、バグのないソフトウェアを構築するためのクラス理論に基づく理論的基盤を与え、それを用いて(ユーザによる自己拡張を許す)ソフトウェアの実行および検証を同一の環境で可能にする自然枠組とよばれるシステムを計算機上に実装することを目的とする。
本年度は自然枠組に論理的基盤を与えるクラス理論についての基本的考察を行なった。とくにクラス構築における抽象化のプロセスについての代数的な仕組の解明についての重要な知見を得ることができた。そのアイディアは以下のようである。従来、変数の抽象化と対になる概念として代入が用いられてきた。これに対して、我々は対になる概念として具体化を用いることにした。抽象化のプロセスにより得られる対象を抽象体と呼ぶことにすれば、抽象体においては抽象化に用いられた変数は消去されもはや存在しない。つまりその変数は抽象体を得るまでのプロセスを実行する間だけ一時的に必要な存在であることがわかる。これはλ計算におけるα同値性の本質でもある。この観察を用いて、抽象体の代数を変数概念を経由せずに確立することができ、それにより抽象体からそれを具体化するプロセスも変数を用いることなく実現することができた。

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

抽象体から変数を経由せずに具体化を実現する方法は工夫を要するものであった。
その実現にはλ計算におけるλ項の抽象化のプロセスについての考察によりヒントを得ることができた。その結果として、抽象体を変数を用いずに自由代数として実現することができた。

Strategy for Future Research Activity

これまでに得られている抽象体とその具体化に関する研究は、抽象体の内包的な側面を実現しているにすぎない。現実の数学を支える証明支援系においては、内包的側面だけでなく、外延的側面も扱えるようにする必要がある。そのために、λ計算におけるη同値性について研究を進める予定である。ここにおいても変数の概念を用いずにη同値性を定義する必要があり、従来の研究では見られない困難が予想される。

  • Research Products

    (5 results)

All 2018 2017

All Journal Article (3 results) (of which Peer Reviewed: 3 results) Presentation (2 results)

  • [Journal Article] Program generation for ML modules (short paper)2018

    • Author(s)
      Takahisa Watanabe and Yukiyoshi Kameyama
    • Journal Title

      Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM'08)

      Volume: 無 Pages: 60-66

    • DOI

      10.1145/3162072

    • Peer Reviewed
  • [Journal Article] Staging with control: type-safe multi-stage programming with control2017

    • Author(s)
      Junpei Oishi and Yukiyoshi Kameyama
    • Journal Title

      Proceedings of the 16th {ACM} {SIGPLAN} International Conference on Generative Programming: Concepts and Experiences (GPCE 2017)

      Volume: 無 Pages: 29--40

    • DOI

      10.1145/3136040.3136049

    • Peer Reviewed
  • [Journal Article] A Nonstandard Functional Programming Language2017

    • Author(s)
      Hirofumi Nakamura, Kensuke Kojima, Kohei Suenaga, Atsushi Igarashi
    • Journal Title

      Proceedings of 15th Asian Symposium on Programming Languages and Systems (APLAS 2017)

      Volume: 無 Pages: 514-533

    • DOI

      10.1007/978-3-319-71237-6_25

    • Peer Reviewed
  • [Presentation] A common notation system for the lambda calculus and combinatory logic2018

    • Author(s)
      Masahiko Sato
    • Organizer
      Second Workshop on Mathematical Logic and its Applications
  • [Presentation] A common notation system for both lambda calculus and combinatory logic2017

    • Author(s)
      Masahiko Sato
    • Organizer
      Oberseminar Mathematische Logik, (LMU Munich, Mathematisces Institut)

URL: 

Published: 2018-12-17  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi