×

通过证明重写实现程序的自动并行化和优化。 (英语) Zbl 1248.68147号

Palsberg,Jens(编辑)等人,《静态分析》。第16届国际研讨会,SAS 2009,美国加利福尼亚州洛杉矶,2009年8月9日至11日。诉讼程序。柏林:施普林格出版社(ISBN 978-3-642-03236-3/pbk)。计算机科学讲座笔记5673,52-68(2009)。
摘要:我们展示了如何在给定程序及其分离逻辑证明的情况下,并行化和优化该程序,并同时转换其证明,以获得经过验证的并行化和最优化程序。为了实现这个目标,我们提出了新的证明规则来生成证明树,并在证明树上建立了一个重写系统。
有关整个系列,请参见[Zbl 1169.68005号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
03B70号 计算机科学中的逻辑
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 示例、附加示例和开源实现的证明树,http://www-sop.inria.fr/everest/Clement.Hurlin/eterlou/eterlous.html
[2] Aiken,A.,Nicolau,A.:最佳循环并行化。ACM SIGPLAN通告23(7)(1988)·数字对象标识代码:10.1145/960116.54021
[3] Artigas,P.、Gupta,M.、Midkiff,S.、Moreira,J.:Java的自动循环转换和并行化。参加:超级计算国际会议。纽约ACM出版社(2000)
[4] Balland,E.,Brauner,P.,Kopetz,R.,Moreau,P.-E,Reilles,A.:Tom:Java上的Piggybacking重写。收录人:Baader,F.(编辑)RTA 2007。LNCS,第4533卷,第36-47页。斯普林格,海德堡(2007)·doi:10.1007/978-3-540-73449-95
[5] Barthe,G.、Grégoire,B.、Kunz,C.、Rezk,T.:优化编译器的证书翻译。收录:Yi,K.(编辑)SAS 2006。LNCS,第4134卷,第301-317页。斯普林格,海德堡(2006)·Zbl 1225.68062号 ·数字对象标识代码:10.1007/11823230_20
[6] Berdine,J.、Calcagno,C.、Cook,B.、Distefano,D.、O'Hearn,P.W.、Wies,T.、Yang,H.:复合数据结构的形状分析。摘自:Damm,W.,Hermanns,H.(编辑)CAV 2007。LNCS,第4590卷,第178-192页。斯普林格,海德堡(2007)·Zbl 1135.68372号 ·doi:10.1007/978-3-540-73368-3_22
[7] Berdine,J.、Calcagno,C.、O'Hearn,P.W.:Smallfoot:带分离逻辑的模块化自动断言检查。收录人:de Boer,F.S.,Bonsangue,M.M.,Graf,S.,de Roever,W.-P.(编辑)FMCO 2005。LNCS,第4111卷。斯普林格,海德堡(2006)·数字对象标识代码:10.1007/118041926
[8] Berdine,J.、Calcagno,C.、O'Hearn,P.W.:带分离逻辑的符号执行。载于:Yi,K.(编辑)APLAS 2005。LNCS,第3780卷,第52-68页。斯普林格,海德堡(2005)·Zbl 1159.68363号 ·doi:10.1007/11575467_5
[9] Bik,A.,Gannon,D.:自动利用Java中的隐式并行。并发:实践与经验9(1997)
[10] Bornat,R.、Calcagno,C.、Yang,H.:分离逻辑中的变量资源。在:编程语义的数学基础。理论计算机科学电子笔记,第155卷。Elsevier,阿姆斯特丹(2005)·Zbl 1273.03101号
[11] Boyapati,C.,Lee,R.,Rinard,M.:安全编程的所有权类型:防止数据竞争和死锁。参加:ACM面向对象编程系统、语言和应用会议。ACM出版社,纽约(2002)
[12] Boyland,J.:检查对分数权限的干扰。收录:Cousot,R.(编辑)SAS 2003。LNCS,第2694卷。斯普林格,海德堡(2003)·Zbl 1067.68537号
[13] Calcagno,C.,Distefano,D.,OHearn,P.,Yang,H.:通过双向拉伸进行成分形状分析。摘自:Shao,Z.,Pierce,B.C.(编辑)《程序设计语言原理》。纽约ACM出版社(2009年出版)
[14] Chin,W.,David,C.,Nguyen,H.,Qin,S.:使用分离逻辑增强模块化OO验证。摘自:Necula,G.C.,Wadler,P.(编辑)《编程语言原理》。纽约ACM出版社(2008)·Zbl 1295.68082号
[15] 坎宁安(Cunningham,D.)、古德卡(Gudka,K.)、艾森巴赫(Eisenbach,S.):远离草地:为原子性锁定正确的道路。摘自:Hendren,L.(编辑)CC 2008。LNCS,第4959卷,第276–290页。斯普林格,海德堡(2008)·电话:10.1007/978-3-540-78791-4_19
[16] Distefano,D.,O'Hearn,P.W.,Yang,H.:基于分离逻辑的局部形状分析。收录:Hermanns,H.,Palsberg,J.(编辑)TACAS 2006。LNCS,第3920卷,第287-302页。斯普林格,海德堡(2006)·Zbl 1180.68112号 ·doi:10.1007/11691372_19
[17] DiStefano,D.,Parkinson,M.:jStar:面向Java的实际验证。在:ACM面向对象编程系统、语言和应用会议,第43卷。纽约ACM出版社(2008)
[18] Ergin,O.,Balkan,D.,Ponomarev,D.,Ghose,K.:使用检查点寄存器文件的早期寄存器释放机制。IEEE计算机55(2006)
[19] Ghiya,R.,Hendren,L.J.,Zhu,Y.:使用递归数据结构检测c程序中的并行性。收录于:Koskimies,K.(编辑)CC 1998,第1383卷。斯普林格,海德堡(1998)
[20] Gotsman,A.,Berdine,J.,Cook,B.,Rinetzky,N.,Sagiv,M.:可存储锁和线程的局部推理。收录:邵,Z.(编辑)APLAS 2007。LNCS,第4807卷,第19-37页。斯普林格,海德堡(2007)·Zbl 1137.68354号 ·doi:10.1007/978-3-540-76637-7_3
[21] Gupta,R.、Pande,S.、Psarris,K.、Sarkar,V.:并行系统的编译技术。并行计算25(13)(1999)·doi:10.1016/S0167-8191(99)00086-1
[22] Haack,C.,Huisman,M.,Hurlin,C.:关于Java可重入锁的推理。在:Ramalingam,G.(编辑)APLAS 2008。LNCS,第5356卷,第171-187页。斯普林格,海德堡(2008)·doi:10.1007/978-3-540-89330-1-13
[23] Haack,C.,Hurlin,C.:使用fork/join的类Java语言的分离逻辑契约。收录:Meseguer,J.,Rosu,G.(编辑)AMAST 2008。LNCS,第5140卷,第199-215页。斯普林格,海德堡(2008)·Zbl 1170.68413号 ·doi:10.1007/978-3-540-79980-116
[24] Hendren,L.J.,Nicolau,A.:用递归数据结构并行程序。IEEE并行和分布式系统汇刊1(1990)·数字对象标识代码:10.1109/71.80123
[25] Hurlin,C.:通过校对重写实现程序的自动并行化和优化。技术报告6806,INRIA。初始版本:2009年1月,修订版本:2009年4月·Zbl 1248.68147号
[26] Jacobs,B.,Piessens,F.:真正的程序验证器。技术报告CW520,鲁汶卡托利克大学(2008)
[27] Lamport,L.:do循环的并行执行。ACM通讯17(2)(1974)·兹伯利0273.68012 ·数字对象标识代码:10.1145/360827.360844
[28] Leroy,X.:编译器后端的正式认证或:使用校对助手对编译器进行编程。收录:Morrisett,J.G.,Jones,S.L.P.(编辑)《编程语言原理》。ACM出版社,纽约(2006)·Zbl 1369.68124号
[29] Necula,G.C.:优化编译器的翻译验证。ACM SIGPLAN通告35(5)(2000)·doi:10.1145/358438.349314
[30] O'Hearn,P.W.:资源、并发和局部推理。理论计算机科学375(1-3)(2007)·Zbl 1111.68023号 ·doi:10.1016/j.tcs.2006.12.035
[31] O'Hearn,P.W.,Reynolds,J.,Yang,H.:关于改变数据结构的程序的局部推理。收录于:Fribourg,L.(编辑)CSL 2001和EACSL 2001。LNCS,第2142卷,第1页。施普林格,海德堡(2001)(特邀论文)·Zbl 0999.68045号 ·doi:10.1007/3-540-44802-0_1
[32] 帕金森,M.:Java的局部推理。剑桥大学博士论文(2005)
[33] Raza,M.,Calcagno,C.,Gardner,P.:使用分离逻辑的自动并行化。参加:欧洲编程研讨会(将于2009年发表)·Zbl 1234.68080号 ·doi:10.1007/978-3642-00590-9_25
[34] Reynolds,J.C.:分离逻辑:共享可变数据结构的逻辑。在:计算机科学中的逻辑。IEEE出版社,洛斯·阿拉米托斯(2002)
[35] Strecker,M.:Isabelle中Java编译器的形式验证。收录:Voronkov,A.(编辑)CADE 2002。LNCS,第2392卷,第63页。斯普林格,海德堡(2002)·Zbl 1072.68593号 ·doi:10.1007/3-540-45620-15
[36] Xue,C.,Shao,Z.,Sha,E.-M.:通过循环条带化,最大限度地提高并行性,最大限度地减少嵌套循环的开销。超大规模集成电路信号处理系统杂志47(2)(2007)·doi:10.1007/s11265-006-0034-5
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。