...
首页> 外文期刊>Journal of Automated Reasoning >Verifying the Correctness and Amortized Complexity of a Union-Find Implementation in Separation Logic with Time Credits
【24h】

Verifying the Correctness and Amortized Complexity of a Union-Find Implementation in Separation Logic with Time Credits

机译:用时间积分验证分离逻辑中联盟发现实现的正确性和摊销的复杂性

获取原文
获取原文并翻译 | 示例
           

摘要

Union-Find is a famous example of a simple data structure whose amortized asymptotic time complexity analysis is nontrivial. We present a Coq formalization of this analysis, following Alstrup et al.'s recent proof. Moreover, we implement Union-Find as an OCaml library and formally endow it with a modular specification that offers a full functional correctness guarantee as well as an amortized complexity bound. In order to reason in Coq about imperative OCaml code, we use the CFML tool, which implements Separation Logic for a subset of OCaml, and which we extend with time credits. Although it was known in principle that amortized analysis can be explained in terms of time credits and that time credits can be viewed as resources in Separation Logic, we believe our work is the first practical demonstration of this approach. Finally, in order to explain the meta-theoretical foundations of our approach, we define a Separation Logic with time credits for an untyped call-by-value -calculus, and formally verify its soundness.
机译:Union-Find是一个简单数据结构的著名示例,其摊余渐进时间复杂度分析非常简单。根据Alstrup等人的最新证明,我们提出了该分析的Coq形式化。此外,我们将Union-Find实现为OCaml库,并正式赋予其模块化规范,该规范提供了完整的功能正确性保证以及摊销的复杂性范围。为了在Coq中推理命令式OCaml代码,我们使用CFML工具,该工具为OCaml的一个子集实现了“分离逻辑”,并且使用时间积分进行扩展。尽管原则上可以使用时间信用来解释摊销分析,并且可以将时间信用视为“分离逻辑”中的资源,但我们相信我们的工作是这种方法的首次实际演示。最后,为了解释我们方法的元理论基础,我们为无类型的按值调用演算定义了带有时间积分的分离逻辑,并正式验证了其合理性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号