×

CakeML的已验证分代垃圾收集器。 (英文) Zbl 1468.68066号

摘要:本文介绍了CakeML运行时系统的分代复制垃圾收集器的验证。证明分为算法证明和实现证明。算法证明遵循分代收集器正确性的非正式直觉结构,即,如果将指向旧数据的指针视为非指针,则分代收集器中的部分收集周期与在堆的部分上运行完整收集相同。我们提出了一种实用的方法来处理证明中ML类型的可变状态,例如引用和数组。开发已经完全集成到逻辑引导CakeML编译器中,该编译器现在包含允许配置分代收集器的命令行参数。所有证明都是在HOL4定理证明器中进行的。

MSC公司:

68N20型 编译与解释理论
68伏15 定理证明(自动和交互式定理证明、演绎、解析等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Anand,A.、Appel,A.、Morrisett,G.、Paraskevopoulou,Z.、Pollack,R.、Belanger,O.S.、Sozeau,M.、Weaver,M.:CertiCoq:经过验证的Coq编译器。In:编程语言Coq(CoqPL)(2017)
[2] Davis,Jared,Myreen,Magnus O.:反射式Milawa定理证明程序是可靠的(直到运行它的机器代码)。J.汽车。原因。55(2), 117-183 (2015) ·Zbl 1356.68186号 ·doi:10.1007/s10817-015-9324-6
[3] Dijkstra,E.W.,Lamport,L.,Martin,A.J.,Scholten,C.S.,Steffens,E.F.M.:现场垃圾收集:合作实践。Commun公司。ACM 21(11),966-975(1978)·Zbl 0386.68024号 ·doi:10.1145/359642.359655
[4] Ericsson,A.S.,Myreen,M.O.,Åman Pohjola,J.:CakeML的一个经过验证的世代垃圾收集器。载于:Ayala-Rincón,M.,Muñoz,C.A.(编辑)交互式定理证明(ITP),LNCS第10499卷,第444-461页。柏林施普林格出版社(2017)·Zbl 1468.68065号
[5] Gammie,P.、Hosking,A.L.、Engelhardt,K.:安全放松:验证x86-TSO的空中垃圾收集。In:Grove,D.,Blackburn,S.(编辑)编程语言设计与实现(PLDI)。ACM,第99-109页(2015年)
[6] Gonthier,G.:验证实用并发垃圾收集器的安全性。收录于:Alur,R.,Henzinger,T.A.(eds)计算机辅助验证(CAV),计算机科学讲义第1102卷。施普林格,柏林(1996)
[7] 哈里森:欧几里德空间的HOL理论。摘自:《高阶逻辑中的定理证明》,第18届国际会议,TPHOLs 2005,牛津,2005年8月22日至25日,论文集,第114-129页(2005)·Zbl 1152.68520号
[8] Havelund,K.:垃圾收集器的机械验证。摘自:《并行与分布式处理》,与第十三届国际并行处理研讨会和第十届并行与分布式加工研讨会联合举办的11次IPPS/SDP'99研讨会,第1258-1283页(1999)
[9] Hawblitzel,C.,Howell,J.,Lorch,J.R.,Narayan,A.,Parno,B.,Zhang,D.,Zill,B.:铁杆应用:通过自动全系统验证实现端到端安全。摘自:《操作系统设计与实现》(OSDI),第165-181页,科罗拉多州布鲁姆菲尔德(2014)。USENIX协会
[10] Hawblitzel,C.,Petrank,E.:实际垃圾收集器的自动验证。日志。方法计算。科学。6(3), 441-453 (2010) ·Zbl 1315.68096号 ·doi:10.2168/LMCS-6(3:6)2010年
[11] McCreight,A.:垃圾收集器实现的机械化验证。耶鲁大学博士论文,2008年12月
[12] Myreen,M.O.:复制收集器的可重用验证。收录于:Leavens,G.T.,O'Hearn,P.W.,Rajamani,S.K.(eds)Verified Software:Theorys,Tools,Experiments(VSTTE),vol.6217 of Leach Notes In Computer Science。柏林施普林格出版社(2010年)
[13] Myreen,M.O.,Davis,J.:验证定理证明程序的验证运行时。收录人:van Eekelen,M.C.J.D.,Geuvers,H.,Schmaltz,J.,Wiedijk,F.(编辑)交互式定理证明(ITP),第265-280页(2011)·Zbl 1342.68297号
[14] Nieto,L.P.,Esparza,J.:用isabelle/hol中的owicki gries验证单突变和多突变垃圾收集器。摘自:计算机科学数学基础国际研讨会,第619-628页。施普林格,柏林(2000)·Zbl 0996.68518号
[15] Owens,S.、Myreen,M.O.、Kumar,R.、Tan,Y.K.:功能性大步语义。摘自:编程语言和系统——第25届欧洲编程研讨会,2016年ESOP,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2016,荷兰埃因霍温,2016年4月2-8日,会议记录,第589-615页(2016)
[16] Pavlovic,D.,Pepper,P.,Smith,D.R.:并发垃圾收集器的形式推导。在:Bolduc,C.,Desharnais,J.,Ktari,B.(编辑)程序构建数学。MPC 2010。计算机科学课堂讲稿,第6120卷,第353-376页。施普林格,柏林,海德堡(2010)·Zbl 1286.68090号
[17] David M.Russinoff:一个经过机械验证的增量垃圾收集器。形式方面计算。6(4), 359-390 (1994) ·Zbl 0941.68624号 ·doi:10.1007/BF01211305
[18] Tan,Y.K.,Myreen,M.O.,Kumar,R.,Fox,A.,Owens,S.,Norrish,M.:CakeML的新验证编译器后端。收录于:Garrigue,J.、Keller,G.、Sumii,E.(编辑)函数式编程国际会议(ICFP)。ACM(2016)·Zbl 1493.68091号
[19] Yang,J.,Hawblitzel,C.:安全到最后一条指令:类型安全操作系统的自动验证。摘自:Zorn,B.G.,Aiken,A.(编辑)《编程语言设计与实现》,第99-110页。纽约州纽约市ACM(2010)
[20] Zakowski,Y.、Cachera,D.、Demange,D.、Petri,G.、Pichardie,D.、Jagannathan,S.、Vitek,J.:使用相对保证方法验证并发垃圾收集器。参见:交互式定理证明第八届国际会议,ITP 2017,巴西巴西利亚,2017年9月26-29日,会议记录,第496-513页(2017)·Zbl 1468.68067号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。