モジュール間の安全な相互作用を可能にするメタプログラミング言語機構
モジュール間の安全な相互作用を可能にするメタプログラミング言語機構
批准号:
20K11757
负责人:
馬谷 誠二
金额:
$2.75万
依托单位:
依托单位国家:
日本
项目类别:
Grant-in-Aid for Scientific Research (C)
财政年份:
2020
资助国家:
日本
项目状态:
已结题
起止时间:
2020-04-01 至 2024-03-31
中文摘要
今年度は,優れたメタプログラミング(マクロ)機能を備えたプログラミング言語の一つであるRacket言語を対象に,メタプログラムをより正確に静的解析するための抽象解釈器の実装を行った.また,実装においては,様々な設計変更にも柔軟に対応できるよう,その内部に低水準な遷移系記述システムを構築した.健全な手続き的マクロを備えたプログラミング言語のセマンティクスは通常の言語と比べて複雑であり,高度なマクロをその上で正しく記述することは必ずしも容易ではない.そのため,マクロの動作を正確に把握するための静的解析ツールは,プログラマにとって有益な道具の一つと言える.本論文では,健全な手続き的マクロを備えたモダンなLisp系言語であるRacketの抽象解釈フレームワークを提案する.提案フレームワークは,言語機能やデータドメインをモジュラーに定義可能なDSLを内部に含んでおり,解析したい性質や解析精度を用途に応じて柔軟に切り替えることが可能である.また,内部DSLは高度な表現力を備えながら実行時間を犠牲にしておらず,その上で実現した抽象解釈器を実用的ツールの内部モジュールとしてそのまま利用できる.遷移系は,プログラミング言語処理系等,様々なシステムソフトウェアの核として存在する.小さなシステムのformalな定義は理解しやすく検証も容易であるが,実システム中に存在する遷移系は規模が大きいこともあり,その拡張性・効率性も重要と言える.本論文では,実システムへの組み込み用途に耐えうるだけの効率性と拡張性を備えた遷移系を簡潔に記述可能なDSLを提案する.プログラミング言語の意味論を実例に挙げ拡張性の高さを例証し,また,先行研究のツールとの比較を行い,我々のDSLが大幅な速度向上を達成できていることも確認した.
英文摘要
今年度は,優れたメタプログラミング(マクロ)機能を備えたプログラミング言語の一つであるRacket言語を対象に,メタプログラムをより正確に静的解析するための抽象解釈器の実装を行った.また,実装においては,様々な設計変更にも柔軟に対応できるよう,その内部に低水準な遷移系記述システムを構築した.健全な手続き的マクロを備えたプログラミング言語のセマンティクスは通常の言語と比べて複雑であり,高度なマクロをその上で正しく記述することは必ずしも容易ではない.そのため,マクロの動作を正確に把握するための静的解析ツールは,プログラマにとって有益な道具の一つと言える.本論文では,健全な手続き的マクロを備えたモダンなLisp系言語であるRacketの抽象解釈フレームワークを提案する.提案フレームワークは,言語機能やデータドメインをモジュラーに定義可能なDSLを内部に含んでおり,解析したい性質や解析精度を用途に応じて柔軟に切り替えることが可能である.また,内部DSLは高度な表現力を備えながら実行時間を犠牲にしておらず,その上で実現した抽象解釈器を実用的ツールの内部モジュールとしてそのまま利用できる.遷移系は,プログラミング言語処理系等,様々なシステムソフトウェアの核として存在する.小さなシステムのformalな定義は理解しやすく検証も容易であるが,実システム中に存在する遷移系は規模が大きいこともあり,その拡張性・効率性も重要と言える.本論文では,実システムへの組み込み用途に耐えうるだけの効率性と拡張性を備えた遷移系を簡潔に記述可能なDSLを提案する.プログラミング言語の意味論を実例に挙げ拡張性の高さを例証し,また,先行研究のツールとの比較を行い,我々のDSLが大幅な速度向上を達成できていることも確認した.
期刊论文(6)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
HOPE: 階層的計算省略に基づく耐障害性を備えた並列実行モデル
HOPE:一种基于分层计算省略的容错并行执行模型
DOI:
--
发表时间:
2020
期刊:
影响因子:
--
作者:
[Tomoji Kishi , Taiki Koyama , Natsuko Noda , Keisuke Horiuchi , Kensho Li , Chaoqun Zhang, 八杉 昌宏,村岡 大輔,平石 拓,馬谷 誠二,江本 健斗]
通讯作者:
八杉 昌宏,村岡 大輔,平石 拓,馬谷 誠二,江本 健斗
Racket言語のための抽象解釈に向けて
对 Racket 语言的抽象解释
DOI:
--
发表时间:
2022
期刊:
影响因子:
--
作者:
[小林 惇, 廣津 登志夫, 馬谷 誠二]
通讯作者:
馬谷 誠二
Work-Stealing Strategies That Consider Work Amount and Hierarchy
考虑工作量和层次结构的工作窃取策略
DOI:
--
发表时间:
2021
期刊:
IPSJ Transaction on Programming(掲載決定)
影响因子:
--
作者:
[Ryusuke Nakashima, Masahiro Yasugi, Hiroshi Yoritaka, Tasuku Hiraishi, Seiji Umatani]
通讯作者:
Seiji Umatani
健全な手続き的マクロの抽象解釈フレームワーク
声音程序宏的抽象解释框架
DOI:
--
发表时间:
2023
期刊:
影响因子:
--
作者:
[西脇 将樹, 門田 暁人, 馬谷 誠二]
通讯作者:
馬谷 誠二
具象コード実行を伴う抽象解釈器の実行モデル
具有具体代码执行的抽象解释器执行模型
DOI:
--
发表时间:
2021
期刊:
影响因子:
--
作者:
[馬谷 誠二]
通讯作者:
馬谷 誠二