Data-driven inference of representation invariants
Data-driven inference of representation invariants
复制标题
表示不变量的数据驱动推理
DOI:
10.1145/3385412.3385967
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Walker, David
中科院分区:
文献类型:
--
作者:
Miltner, Anders;Padhi, Saswat;Millstein, Todd;Walker, David
A representation invariant is a property that holds of all values of abstract type produced by a module. Representation invariants play important roles in software engineering and program verification. In this paper, we develop a counterexample-driven algorithm for inferring a representation invariant that is sufficient to imply a desired specification for a module. The key novelty is a type-directed notion of visible inductiveness, which ensures that the algorithm makes progress toward its goal as it alternates between weakening and strengthening candidate invariants. The algorithm is parameterized by an example-based synthesis engine and a verifier, and we prove that it is sound and complete for first-order modules over finite types, assuming that the synthesizer and verifier are as well. We implement these ideas in a tool called Hanoi, which synthesizes representation invariants for recursive data types. Hanoi not only handles invariants for first-order code, but higher-order code as well. In its back end, Hanoi uses an enumerative synthesizer called Myth and an enumerative testing tool as a verifier. Because Hanoi uses testing for verification, it is not sound, though our empirical evaluation shows that it is successful on the benchmarks we investigated.
登录
查看更多内容
DOI:
10.1145/3314221.3314634
发表时间:
2019
期刊:
Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
作者:
T. Le;Guolong Zheng;Thanhvu Nguyen
通讯作者:
Thanhvu Nguyen
DOI:
--
发表时间:
2020
期刊:
影响因子:
--
作者:
Anders Miltner;Saswat Padhi;T. Millstein;David Walker
通讯作者:
David Walker
DOI:
--
发表时间:
2019
期刊:
arXiv.org
影响因子:
--
作者:
Lau Skorstengaard
通讯作者:
Lau Skorstengaard
DOI:
--
发表时间:
2018
期刊:
Formal Methods in Computer-Aided Design
影响因子:
--
作者:
Hossein Hojjat;P. Rümmer
通讯作者:
P. Rümmer
DOI:
--
发表时间:
2016
期刊:
ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子:
--
作者:
C. Krintz;E. Berger
通讯作者:
E. Berger