【24h】

Verifying a Copying Garbage Collector in GP 2

机译:在GP 2中验证复制垃圾收集器

获取原文
获取外文期刊封面目录资料

摘要

Cheney's copying garbage collector is regarded as a challenging test case for formal approaches to the verification of imperative programs with pointers. The algorithm works for possibly cyclic data structures with unrestricted sharing which cannot be handled by standard separation logics. In addition, the algorithm relocates data and requires establishing an isomorphism between the initial and the final data structure of a program run. We present an implementation of Cheney's garbage collector in the graph programming language GP 2 and a proof that it is totally correct. Our proof is shorter and less complicated than comparable proofs in the literature. This is partly due to the fact that the GP 2 program abstracts from details of memory management such as address arithmetic. We use sound proof rules previously employed in the verification of GP 2 programs but treat assertions semantically because current assertion languages for graph transformation cannot express the existence of an isomorphism between initial and final graphs.
机译:Cheney的复制垃圾收集器被认为是用指针验证命令式程序的正式方法中的一个挑战性测试案例。该算法适用于可能的循环数据结构,这些结构具有不受限制的共享,而标准分隔逻辑无法处理这些数据结构。另外,该算法会重定位数据,并要求在程序运行的初始和最终数据结构之间建立同构。我们用图形编程语言GP 2展示了Cheney的垃圾收集器的实现,并证明了它是完全正确的。我们的证明比文献中的同类证明更短,更简单。部分原因是因为GP 2程序从诸如地址算术之类的内存管理细节中抽象出来。我们使用以前在GP 2程序验证中使用的隔音规则,但在语义上对待断言,因为用于图转换的当前断言语言无法表达初始图和最终图之间同构的存在。

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号