当前位置: X-MOL 学术ACM Trans. Softw. Eng. Methodol. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Verification of Program Transformations with Inductive Refinement Types
ACM Transactions on Software Engineering and Methodology ( IF 6.6 ) Pub Date : 2021-01-20 , DOI: 10.1145/3409805
Ahmad Salim Al-Sibahi 1 , Thomas P. Jensen 2 , Aleksandar S. Dimovski 3 , Andrzej Wąsowski 4
Affiliation  

High-level transformation languages like Rascal include expressive features for manipulating large abstract syntax trees: first-class traversals, expressive pattern matching, backtracking, and generalized iterators. We present the design and implementation of an abstract interpretation tool, Rabit, for verifying inductive type and shape properties for transformations written in such languages. We describe how to perform abstract interpretation based on operational semantics, specifically focusing on the challenges arising when analyzing the expressive traversals and pattern matching. Finally, we evaluate Rabit on a series of transformations (normalization, desugaring, refactoring, code generators, type inference, etc.) showing that we can effectively verify stated properties.

中文翻译:

使用归纳细化类型验证程序转换

像 Rascal 这样的高级转换语言包括用于操作大型抽象语法树的表达功能:一流的遍历、表达模式匹配、回溯和通用迭代器。我们介绍了抽象解释工具 Rabit 的设计和实现,用于验证用此类语言编写的转换的归纳类型和形状属性。我们描述了如何基于操作语义执行抽象解释,特别关注分析表达遍历和模式匹配时出现的挑战。最后,我们对 Rabit 进行了一系列转换(规范化、脱糖、重构、代码生成器、类型推断等)的评估,表明我们可以有效地验证声明的属性。
更新日期:2021-01-20
down
wechat
bug