Universal Algebraic Datatypes: Theory and Practice on Datatypes based on Higher-Order Rewriting
Project/Area Number |
20H04164
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Gunma University |
Principal Investigator |
浜名 誠 群馬大学, 情報学部, 准教授 (90334135)
|
Co-Investigator(Kenkyū-buntansha) |
室屋 晃子 京都大学, 数理解析研究所, 助教 (00827454)
菊池 健太郎 東北大学, 電気通信研究所, 助教 (40396528)
今井 敬吾 岐阜大学, 工学部, 助教 (70456630)
|
Project Period (FY) |
2020-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥17,550,000 (Direct Cost: ¥13,500,000、Indirect Cost: ¥4,050,000)
Fiscal Year 2023: ¥4,030,000 (Direct Cost: ¥3,100,000、Indirect Cost: ¥930,000)
Fiscal Year 2022: ¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2021: ¥4,290,000 (Direct Cost: ¥3,300,000、Indirect Cost: ¥990,000)
Fiscal Year 2020: ¥5,070,000 (Direct Cost: ¥3,900,000、Indirect Cost: ¥1,170,000)
|
Keywords | ソフトウェア科学 / 書換え系 / 代数仕様 / プログラム理論 / 関数プログラミング / 関数プログラム / 合流性 / 停止性 / Haskell / ラムダ計算 / 書替え系 |
Outline of Research at the Start |
情報システムが重要な社会基盤の一つとなるにつれ、ソフトウェアの安全性保証が大きな課題となっている。本研究は信頼性のあるソフトウェアの基盤技術としての「真代数データ型(Universal Algebraic Datatypes) プログラミング」の理論の確立と実践を目的とする。真代数データ型は、「代数」をデータとプログラムの単位とすることで安全性を保証する。さらに代数の等式公理から、計算規則を自動導出することで、高速で柔軟な実行アルゴリズムを提供する。
|
Outline of Annual Research Achievements |
本年度は、書換え理論を高階多相型へ拡張し、停止性と合流性検証手法と、書換え規則の正当性検証手法を研究した。これにより、関数型プログラミング言語Haskellの書換え規則の正しさを自動的に検証する基礎理論が構築できた。 この結果をInternational Conference on Functional Programming (ICFP)併設のHaskellシンポジウム、および東京大学で開催された第40回日本ソフトウェア科学会大会で発表し、日本ソフトウェア科学会大会優秀発表賞を受賞した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
関数型プログラミング言語Haskellの書換え規則自動検証という未知の問題へ、二階書換え系の理論を拡張することができた。
|
Strategy for Future Research Activity |
検証ツールの開発を進め、GHCにおけるCore書換え規則をより効果的に扱えるように実装を進める。
|
Report
(3 results)
Research Products
(20 results)