当前位置:
X-MOL 学术
›
arXiv.cs.PL
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Set Constraints, Pattern Match Analysis, and SMT
arXiv - CS - Programming Languages Pub Date : 2019-05-23 , DOI: arxiv-1905.09423 Joseph Eremondi
arXiv - CS - Programming Languages Pub Date : 2019-05-23 , DOI: arxiv-1905.09423 Joseph Eremondi
Set constraints provide a highly general way to formulate program analyses.
However, solving arbitrary boolean combinations of set constraints is
NEXPTIME-hard. Moreover, while theoretical algorithms to solve arbitrary set
constraints exist, they are either too complex to realistically implement or
too slow to ever run. We present a translation that converts a set constraint formula into an SMT
problem. Our technique allows for arbitrary boolean combinations of set
constraints, and leverages the performance of modern SMT solvers. To show the
usefulness of unrestricted set constraints, we use them to devise a pattern
match analysis for functional languages, which ensures that missing cases of
pattern matches are always unreachable. We implement our analysis in the Elm
compiler and show that our translation is fast enough to be used in practical
verification.
中文翻译:
设置约束、模式匹配分析和 SMT
设置约束提供了一种非常通用的方式来制定程序分析。然而,解决集合约束的任意布尔组合是 NEXPTIME 困难的。此外,虽然存在解决任意集合约束的理论算法,但它们要么太复杂而无法实际实现,要么太慢而无法运行。我们提出了一个将集合约束公式转换为 SMT 问题的翻译。我们的技术允许设置约束的任意布尔组合,并利用现代 SMT 求解器的性能。为了展示无限制集约束的有用性,我们使用它们来设计函数式语言的模式匹配分析,以确保模式匹配的缺失情况始终无法访问。
更新日期:2020-03-03
中文翻译:
设置约束、模式匹配分析和 SMT
设置约束提供了一种非常通用的方式来制定程序分析。然而,解决集合约束的任意布尔组合是 NEXPTIME 困难的。此外,虽然存在解决任意集合约束的理论算法,但它们要么太复杂而无法实际实现,要么太慢而无法运行。我们提出了一个将集合约束公式转换为 SMT 问题的翻译。我们的技术允许设置约束的任意布尔组合,并利用现代 SMT 求解器的性能。为了展示无限制集约束的有用性,我们使用它们来设计函数式语言的模式匹配分析,以确保模式匹配的缺失情况始终无法访问。