• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 前のページに戻る

依存型を持つ段階的計算体系の理論と実装

研究課題

研究課題/領域番号 23K24819
補助金の研究課題番号 22H03563 (2022-2023)
研究種目

基盤研究(B)

配分区分基金 (2024)
補助金 (2022-2023)
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関筑波大学

研究代表者

亀山 幸義  筑波大学, システム情報系, 教授 (10195000)

研究分担者 浅井 健一  お茶の水女子大学, 基幹研究院, 教授 (10262156)
Kiselyov Oleg  東北大学, 情報科学研究科, 客員研究員 (50754602)
研究期間 (年度) 2022-04-01 – 2026-03-31
研究課題ステータス 交付 (2024年度)
配分額 *注記
17,290千円 (直接経費: 13,300千円、間接経費: 3,990千円)
2025年度: 3,900千円 (直接経費: 3,000千円、間接経費: 900千円)
2024年度: 4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2023年度: 4,420千円 (直接経費: 3,400千円、間接経費: 1,020千円)
2022年度: 4,680千円 (直接経費: 3,600千円、間接経費: 1,080千円)
キーワードプログラム生成 / プログラム特化 / 依存型 / 仕様記述 / プログラム解析・検証 / 型システム / プログラム解析 / メタプログラミング / ヘテロジニアス・コード生成 / 段階的計算 / 暗号実装 / 計算エフェクト / オフショアリング
研究開始時の研究の概要

暗号、データベース、画像処理など個々の領域における高性能プログラムを開発するためには、特定の領域ごとに特化したプログラムを生成する「プログラム生成法」が非常に有効であることをが知られている。本研究は、このプログラム生成法を大幅に発展させるため、「生成されるプログラムのサイズ」や「生成されるプログラムの計算誤差」など、量的情報を的確に表現できるシステムを構築して、それらの量に関する推論を行いながら、最適なプログラムを生成する方法を構築するものであり、研究目的が達成されれば、高性能・高信頼プログラムを必要とする様々な応用領域の発展に貢献するものである。

研究実績の概要

本研究の目的は、プログラム生成の技法とシステムを洗練・深化させることであり、特に、生成されるプログラムに関する様々な情報に基づいて、選択的に最適なプログラムを生成するための系統的方法を確立することである。検討対象とする情報は、プログラムのサイズ、値や誤差が取り得る範囲、計算量、計算結果を表す数式などである。
研究2年目となる2023年度の研究では、値が取り得る範囲(インターバル)や計算結果を表す数式をプログラム生成時に生成して、プログラム解析や検証を系統的に行う研究を行い、特に、次世代暗号の低レベル実装の生成において、高い性能を持ち正しさが保証されたコードを系統的に生成する手法を確立し、学術雑誌Science of Computer Programmingにおいて発表した。また、この成果の有効性を実験的に示すため、様々な暗号パラメータ、SIMDアーキテクチャ、アルゴリズム、データ表現(ビット長、符号つき/なし)の組み合わせに対して本研究の手法を適用して、高性能で正しいコードを生成できることを示した。
また、プログラム生成のための言語・システム実装の研究を進め、MetaOCaml言語を用いてC言語のサブセットを生成するためのヘテロジニアス・コード生成機能の設計と実装した。さらに、従来の静的型付け言語の範囲を超えたプログラム生成の可能性を探るため、静的・動的型付けをあわせ持つTypeScript言語にコード生成機能を追加した言語の設計と実装を行った。これらの言語実装により、保守性が高く高性能コードを生成するためのプログラム生成の適用範囲を広げることに成功した。これらの言語に基づいて、プログラムサイズなどの情報に基づいた選択的なプログラム生成を行うための手法について、基礎的な検討を行った。

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

本研究は、プログラムサイズ、計算量、値や誤差の範囲などの量的な情報をもとに選択的なプログラム生成を行うための系統的手法(言語設計・言語実装・例の作成を含む)を確立することを目的としていて、そのために依存型を用いた型システムを設計・実装する予定である。現在までの研究の蓄積で、この目的を遂行するための具体的なコード生成例の作成・収集、および、プログラム生成研究は進んでおり、依存型を用いた型システムの設計に着手しているところである。

今後の研究の推進方策

これまでの研究では研究代表者と2名の研究分担者が比較的独立して研究を推進してきたので、今後は、これら3名とそれぞれの研究協力者の連携を強化し、研究目的であるプログラム生成法の新しい段階の開拓に向けて研究を行う。オンラインミーティングのほか、研究集会等を開催して、対面での討論を充実させ、システム設計・実装・実問題への応用などについて協力しながら研究を推進する。

報告書

(2件)
  • 2023 実績報告書
  • 2022 実績報告書
  • 研究成果

    (24件)

すべて 2024 2023 2022

すべて 雑誌論文 (12件) (うち国際共著 5件、 査読あり 12件、 オープンアクセス 5件) 学会発表 (12件) (うち国際学会 8件)

  • [雑誌論文] Program generation meets program verification: A case study on number-theoretic transform2024

    • 著者名/発表者名
      Masuda Masahiro、Kameyama Yukiyoshi
    • 雑誌名

      Science of Computer Programming

      巻: 232 ページ: 103035-103035

    • DOI

      10.1016/j.scico.2023.103035

    • 関連する報告書
      2023 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Generating C: Heterogeneous metaprogramming system description2024

    • 著者名/発表者名
      Kiselyov Oleg
    • 雑誌名

      Science of Computer Programming

      巻: 231 ページ: 103015-103015

    • DOI

      10.1016/j.scico.2023.103015

    • 関連する報告書
      2023 実績報告書
    • 査読あり / 国際共著
  • [雑誌論文] 論理関係による shift/reset の部分評価器の正当性 の証明2024

    • 著者名/発表者名
      横関 茉衣、浅井 健一
    • 雑誌名

      第26回プログラミングおよびプログラミング言語ワークショップ論文集

      巻: -

    • 関連する報告書
      2023 実績報告書
    • 査読あり
  • [雑誌論文] MetaOCaml Theory and Implementation2023

    • 著者名/発表者名
      Oleg Kiselyov
    • 雑誌名

      ACM SIGPLAN OCAML 2023 workshop

      巻: -

    • 関連する報告書
      2023 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Free Variable as Effect, in Practice2023

    • 著者名/発表者名
      Oleg Kiselyov
    • 雑誌名

      ACM SIGPLAN HOPE 2023 workshop

      巻: -

    • 関連する報告書
      2023 実績報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Generating Programs for Polynomial Multiplication with Correctness Assurance2023

    • 著者名/発表者名
      Ryo Tokuda and Yukiyoshi Kameyama
    • 雑誌名

      Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation (PEPM 2023)

      巻: - ページ: 27-40

    • DOI

      10.1145/3571786.3573017

    • 関連する報告書
      2022 実績報告書
    • 査読あり
  • [雑誌論文] Towards a Reflection for Effect Handlers2023

    • 著者名/発表者名
      Cong Youyou、Asai Kenichi
    • 雑誌名

      Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation

      巻: N/A ページ: 55-65

    • DOI

      10.1145/3571786.3573015

    • 関連する報告書
      2022 実績報告書
    • 査読あり / オープンアクセス / 国際共著
  • [雑誌論文] Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform2022

    • 著者名/発表者名
      Masahiro Masuda and Yukiyoshi Kameyama
    • 雑誌名

      Lecture Notes in Computer Science

      巻: 13215 ページ: 133-151

    • DOI

      10.1007/978-3-030-99461-7_8

    • ISBN
      9783030994600, 9783030994617
    • 関連する報告書
      2022 実績報告書
    • 査読あり
  • [雑誌論文] Understanding Algebraic Effect Handlers via Delimited Control Operators2022

    • 著者名/発表者名
      Youyou Cong and Kenichi Asai
    • 雑誌名

      Lecture Notes in Computer Science

      巻: 13401 ページ: 59-79

    • DOI

      10.1007/978-3-031-21314-4_4

    • ISBN
      9783031213137, 9783031213144
    • 関連する報告書
      2022 実績報告書
    • 査読あり / 国際共著
  • [雑誌論文] Type System for Four Delimited Control Operators2022

    • 著者名/発表者名
      Chiaki Ishio and Kenichi Asai
    • 雑誌名

      Proceedgings of the 21st ACM SGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2022)

      巻: - ページ: 45-58

    • DOI

      10.1145/3564719.3568691

    • 関連する報告書
      2022 実績報告書
    • 査読あり
  • [雑誌論文] A Functional Abstraction of Typed Invocation Contexts2022

    • 著者名/発表者名
      Cong Youyou、Ishio Chiaki、Honda Kaho、Asai Kenichi
    • 雑誌名

      Logical Methods in Computer Science

      巻: Volume 18, Issue 3 ページ: 1-31

    • DOI

      10.46298/lmcs-18(3:34)2022

    • 関連する報告書
      2022 実績報告書
    • 査読あり / オープンアクセス / 国際共著
  • [雑誌論文] Generating C2022

    • 著者名/発表者名
      Kiselyov Oleg
    • 雑誌名

      Lecture Notes in Computer Science

      巻: 13215 ページ: 75-93

    • DOI

      10.1007/978-3-030-99461-7_5

    • ISBN
      9783030994600, 9783030994617
    • 関連する報告書
      2022 実績報告書
    • 査読あり / 国際共著
  • [学会発表] 論理関係による shift/reset の部分評価器の正当性 の証明2024

    • 著者名/発表者名
      横関 茉衣、浅井 健一
    • 学会等名
      第26回プログラミングおよびプログラミング言語ワークシップ
    • 関連する報告書
      2023 実績報告書
  • [学会発表] 擬似引用方式のプログラム生成によるSQLクエリコンパイラ(ポスター発表)2024

    • 著者名/発表者名
      夏井優太、亀山幸義
    • 学会等名
      第26回プログラミングおよびプログラミング言語ワークシップ
    • 関連する報告書
      2023 実績報告書
  • [学会発表] Coq の証明から抽出されたプログラムに対する型主導の最適化アルゴリズムとその形式化(ポスター発表)2024

    • 著者名/発表者名
      礒田華成、亀山幸義
    • 学会等名
      第26回プログラミングおよびプログラミング言語ワークシップ
    • 関連する報告書
      2023 実績報告書
  • [学会発表] Free Variable as Effect, in Practice2023

    • 著者名/発表者名
      Oleg Kiselyov
    • 学会等名
      ACM SIGPLAN HOPE Workshop 2023
    • 関連する報告書
      2023 実績報告書
    • 国際学会
  • [学会発表] MetaOCaml Theory and Implementation2023

    • 著者名/発表者名
      Oleg Kiselyov
    • 学会等名
      ACM SIGPLAN OCaml Workshop 2023
    • 関連する報告書
      2023 実績報告書
    • 国際学会
  • [学会発表] Generating Programs for Polynomial Multiplication with Correctness Assurance2023

    • 著者名/発表者名
      Ryo Tokuda and Yukiyoshi Kameyama
    • 学会等名
      Proceedings of the 2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation (PEPM 2023)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Towards a Reflection for Effect Handlers2023

    • 著者名/発表者名
      Youyou Cong and Kenichi Asai
    • 学会等名
      2023 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation (PEPM 2023)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] shift/reset を含む型付き言語における Reflection 証明2023

    • 著者名/発表者名
      本田 華歩、山本 充子、浅井 健一
    • 学会等名
      第25回プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2022 実績報告書
  • [学会発表] Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform2022

    • 著者名/発表者名
      Masahiro Masuda and Yukiyoshi Kameyama
    • 学会等名
      16th International Symposium on Functional and Logic Programming (FLOPS 2022)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Understanding Algebraic Effect Handlers via Delimited Control Operators2022

    • 著者名/発表者名
      Youyou Cong and Kenichi Asai
    • 学会等名
      23rd International Symposium on Trends in Functional Programming (TFP 2022)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Type System for Four Delimited Control Operators2022

    • 著者名/発表者名
      Chiaki Ishio and Kenichi Asai
    • 学会等名
      21st ACM SGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2022)
    • 関連する報告書
      2022 実績報告書
    • 国際学会
  • [学会発表] Generating C - System Description2022

    • 著者名/発表者名
      Oleg Kiselyov
    • 学会等名
      16th International Symposium on Functional and Logic Programming (FLOPS 2022)
    • 関連する報告書
      2022 実績報告書
    • 国際学会

URL: 

公開日: 2022-04-19   更新日: 2024-12-25  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi