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

2019 Fiscal Year Research-status Report

ソースコードを操作するプログラムの検証技法の研究

Research Project

Project/Area Number 19K20245
Research InstitutionTokyo Institute of Technology

Principal Investigator

森口 草介  東京工業大学, 情報理工学院, 助教 (60733409)

Project Period (FY) 2019-04-01 – 2022-03-31
Keywordsメタプログラミング / 型システム
Outline of Annual Research Achievements

プログラミング言語Emfrpに、データの大きさを限定した再帰的定義を導入した。Emfrpは型の再帰的定義ができない言語であり、代わりに使用メモリ量を見積もることが可能という性質を持っている。一方、導入した再帰的定義は、限定しているデータの大きさに基づき使用メモリ量を見積もることが可能である。そのため、同様に使用メモリ量を見積もることが可能となるが、しかしその方法は大きく異なっている。
今回導入した機能は、あらかじめ限定している大きさのデータを確保することで、元のEmfrpでも実現できる。ただしデータに対する操作は複雑化するため、再帰的定義を用いた記述に対して明らかな対応にはならず、複雑な変換操作を必要とする。この変換を実装することにより、再帰的定義を導入した言語の実行環境を構築できるが、処理系の妥当性は単なる実行結果に関するものだけでなく、付随する分析に関する特徴も必要となる。この処理系を実装した上で、ソースコードそれぞれで見積もったメモリ量を含めた検証を、本研究の例題として行う予定である。
近年のプログラミング言語の機能は複雑化しており、また今回導入した再帰的定義のように実行結果に付随する性質を複数含んでいる。このように、複雑化した対応関係を実現する処理系が妥当な変換を行っているかに関する検証は、入力と出力それぞれのソースコードに対して様々な性質に関する言及が必要である。今回の例題はそのような特徴をもったものの一つであり、この検証の一般性によって、新規に提案される言語機能の処理系を検証する手法であることを示すことができる。

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

本来の目標は、1)小規模な言語の意味論の記述、2)その上に作ったソースコードを操作するサンプルプログラムの検証、の二点であった。これらは現在開発途中であり、十分に動作するものとはなっていない。その意味で、本研究課題の進捗状況は遅れていると言える。
一方、次年度以降の目標であった例題に関する内容が進展したという点で、ある程度の進捗も見られた。

Strategy for Future Research Activity

昨年度の目標達成に向けて形式化を行う。さらに、言語の意味論については複数の言語の意味論を記述する。これにより応用範囲を広げ、異なる言語のソースコードを編集するプログラムについての検証を行う。

Causes of Carryover

主な原因は二つあり、一つは進捗状況で述べたとおり、現状の進捗はやや遅延しているため外部発表の機会が予定より少なくなっている点である。もう一つは、新型コロナウイルスの影響により複数の学会が中止、またはインターネット上での開催となっている。そのため、旅費の支出が行われなかった点である。
旅費に関してはコロナウイルスによる影響もあり今年度も不透明だが、主に文献調査や検証の補助としてRAの謝金、および計算能力の高い計算機の購入を計画している。

  • Research Products

    (1 results)

All 2020

All Presentation (1 results)

  • [Presentation] 小規模組込みシステム向けFRP言語に対する再帰的データ型の導入2020

    • Author(s)
      横山 陽彦, 森口 草介, 渡部 卓雄
    • Organizer
      PPL 2020: 第22回プログラミングおよびプログラミング言語ワークショップ

URL: 

Published: 2021-01-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi