Higher-Order Model Checking in Direct Style
Higher-Order Model Checking in Direct Style
复制标题
直接风格的高阶模型检查
DOI:
10.1007/978-3-319-47958-3_16
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
and Naoki Kobayashi
中科院分区:
文献类型:
--
作者:
Taku Terao;Taskeshi Tsukada;and Naoki Kobayashi
Higher-order model checking, or model checking of higher-order recursion schemes, has been recently applied to fully automated verification of functional programs. The previous approach has beenindirect, in the sense that higher-order functional programs are first abstracted to (call-by-value) higher-order Boolean programs, and then further translated to higher-order recursion schemes (which are essentially call-by-nameprograms) and model checked. These multi-step transformations caused a number of problems such as code explosion. In this paper, we advocate a moredirectapproach, where higher-order Boolean programs are directly model checked, without transformation to higher-order recursion schemes. To this end, we develop a model checking algorithm for higher-order call-by-value Boolean programs, and prove its correctness. According to experiments, our prototype implementation outperforms the indirect method for large instances.