中文

回溯见证:单调状态的基础与应用

编程语言 2017-11-10 v3 密码学与安全

摘要

我们提供了一种方法,以简化状态单调演化的程序的验证。主要思想是,如果(1)状态按照给定的预序演化,且(2)性质被该预序保持,则在先前状态中被见证的性质可以在当前状态中可靠地回溯。在许多场景中,这种单调推理能产生简洁的模块化证明,省去了显式程序不变量的需要。我们将该方法提炼为单调状态幂,一个用于在依赖类型语言中进行 Hoare 风格单调状态推理的通用而紧凑的接口。我们证明了单调状态幂的可靠性,并将其作为在 F* 验证系统中推理单调状态的统一基础。基于此基础,我们构建了各种可变数据结构的库,如单调引用,并将这些库大规模应用于多个分布式应用的验证。

关键词

引用

@article{arxiv.1707.02466,
  title  = {Recalling a Witness: Foundations and Applications of Monotonic State},
  author = {Danel Ahman and Cédric Fournet and Catalin Hritcu and Kenji Maillard and Aseem Rastogi and Nikhil Swamy},
  journal= {arXiv preprint arXiv:1707.02466},
  year   = {2017}
}

备注

POPL'18 camera ready