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

モジュール間の安全な相互作用を可能にするメタプログラミング言語機構

Research Project

Project/Area Number 20K11757
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Review Section Basic Section 60050:Software-related
Research InstitutionKanagawa University

Principal Investigator

馬谷 誠二  神奈川大学, 情報学部, 准教授 (40378831)

Project Period (FY) 2020-04-01 – 2025-03-31
Project Status Granted (Fiscal Year 2023)
Budget Amount *help
¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2022: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2021: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
Fiscal Year 2020: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Keywords静的解析 / 抽象解釈 / メタプログラミング / 遷移系 / インタプリタ / コンパイラ / プログラミング言語 / プログラム解析 / アクセス制御
Outline of Research at the Start

本研究では,自分自身の言語処理系の実装を含めたモジュール間の相互作用の安全性を保証する言語機構の開発という課題に取り組む.とりわけ,動的プログラミング言語は静的な型検査の恩恵を受けられないことに加え,リフレクション機構や実行時コード生成など一種のメタプログラミング機能を備えていることが多い.メタプログラミング機能を利用するアプリケーションの安全性を保証するには,処理系内部をアプリケーションと同等に検査する手法の構築は不可欠であり,本研究の重要課題の一つである.

Outline of Annual Research Achievements

前年度までの成果に基づき,マクロ機能を利用するコードに対する解析精度の向上を図るため,抽象構文オブジェクトの抽象領域に関する設計・考察を進めた.これまで構文オブジェクトの抽象領域は,Racket上で実装済みのコード上で実行可能であることを優先し,Racketの構造体型等の組み合わせによって表現されていた.今年度は,それらの表現の改良を検討するのにより相応しい表現として,高度な静的型を持つHaskell上の代数データ型による表現を新たに用いることにした.数学的定義により近づけることで,改良するべき本質部分とそれ以外の部分の整理ができ,解析目的に応じて,たとえば抽象領域のよりコンパクトな表現を検討する際,データ型中の各要素の取捨選択の判断が以前よりしやすくなっていると期待できる.
また,前年度までに実装済みの,抽象解釈器におけるプログラムの内部動作を遷移系によって詳細に記述する低水準ツールの有効性や実用性を検証した.具体的には,ラムダ計算をベースにした関数型言語,Racketのマクロ展開フェーズを含んだ実行モデルの操作的意味論を用い,それらの遷移系をツール上に実装した.実装においては,ツールの特徴である拡張性(モジュラー性や再利用性など)を最大限に活用し,細分化されたコンポーネントの合成を繰り返すことによって全体の遷移系が構築されているよう配慮している.そうすることで,拡張性を実際に多く利用することで実行性能に対する過剰なオーバヘッドとなっていないかを実証できる.実際,同様の記述を既存の類似ツール上でも実行したところ,そちらと比較し我々のツールが実行効率の面で大幅に優位であることの確認ができた.

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

前年度に引き続き,マクロに強く依存するプログラムコードに対する解析精度の向上を目指す.具体的には,抽象構文オブジェクトの表現方法のさらなる改善とその定式化,および,展開フェーズ単位の抽象ドメインの独立化についての検討を引き続き実施する.
また,作成した各種ツールの有効性の検証についても,さらに様々なプログラミング言語も対象に含めることで,引き続き継続する.

Report

(4 results)
  • 2023 Research-status Report
  • 2022 Research-status Report
  • 2021 Research-status Report
  • 2020 Research-status Report
  • Research Products

    (7 results)

All 2024 2023 2022 2021 2020

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

  • [Journal Article] Work-Stealing Strategies That Consider Work Amount and Hierarchy2021

    • Author(s)
      Ryusuke Nakashima, Masahiro Yasugi, Hiroshi Yoritaka, Tasuku Hiraishi, Seiji Umatani
    • Journal Title

      IPSJ Transaction on Programming(掲載決定)

      Volume: -

    • NAID

      130008065250

    • Related Report
      2020 Research-status Report
    • Peer Reviewed / Open Access
  • [Presentation] Lightweight DSL for Describing Extensible Transition Systems2024

    • Author(s)
      Seiji Umatani
    • Organizer
      The 39th ACM/SIGAPP Symposium On Applied Computing (SAC 2024)
    • Related Report
      2023 Research-status Report
    • Int'l Joint Research
  • [Presentation] 健全な手続き的マクロの抽象解釈フレームワーク2023

    • Author(s)
      馬谷 誠二
    • Organizer
      第25回プログラミングおよびプログラミング言語ワークショップPPL 2023
    • Related Report
      2022 Research-status Report
  • [Presentation] Racket言語のための抽象解釈に向けて2022

    • Author(s)
      馬谷 誠二
    • Organizer
      情報処理学会 第138回プログラミング研究発表会
    • Related Report
      2021 Research-status Report
  • [Presentation] Work-Stealing Strategies That Consider Work Amount and Hierarchy2021

    • Author(s)
      中嶋 隆介,八杉 昌宏,寄高 啓司,平石 拓,馬谷 誠二
    • Organizer
      情報処理学会 第132回プログラミング研究発表会
    • Related Report
      2020 Research-status Report
  • [Presentation] 具象コード実行を伴う抽象解釈器の実行モデル2021

    • Author(s)
      馬谷 誠二
    • Organizer
      情報処理学会 第133回プログラミング研究発表会
    • Related Report
      2020 Research-status Report
  • [Presentation] HOPE: 階層的計算省略に基づく耐障害性を備えた並列実行モデル2020

    • Author(s)
      八杉 昌宏,村岡 大輔,平石 拓,馬谷 誠二,江本 健斗
    • Organizer
      日本ソフトウェア科学会第37回大会
    • Related Report
      2020 Research-status Report

URL: 

Published: 2020-04-28   Modified: 2024-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi