paperbot · PL 论文追踪

RSS

Regular language type inference with term rewriting

ICFP 4(ICFP)2020引用 12
Timothée Haudebourg, Thomas Genet, Thomas Jensen

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

This paper defines a new type system applied to the fully automatic verification of safety properties of tree-processing higher-order functional programs. We use term rewriting systems to model the program and its semantics and tree automata to model algebraic data types. We define the regular abstract interpretation of the input term rewriting system where the abstract domain is a set of regular languages. From the regular abstract interpretation we derive a type system where each type is a regular language. We define an inference procedure for this type system which allows us check the validity of safety properties. The inference mechanism is built on an invariant learning procedure based on the tree automata completion algorithm. This invariant learning procedure is regularly-complete and complete in refutation, meaning that if it is possible to give a regular type to a term then we will eventually find it, and if there is no possible type (regular or not) then we will eventually find a counter-example.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@article{HaudebourgGJ20,
  title = {Regular language type inference with term rewriting},
  author = {Timothée Haudebourg and Thomas Genet and Thomas Jensen},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  year = {2020},
  doi = {10.1145/3408994}
}