跳到主要内容
10.1145/3573105.3575673acm会议文章/章节视图摘要出版物页面府绸会议记录会议集合
研究论文

使用Isabelle/HOL验证术语图优化

出版:2023年1月11日 出版历史
  • 获取引文提醒
  • 摘要

    我们的目标是正式验证GraalVM编译器中使用的数百条表达式优化规则的正确性。定义编程语言的语义时,表达式自然形成抽象语法树或术语。然而,为了便于共享公共子表达式,现代编译器将表达式表示为术语图。定义术语图的语义比定义等价术语表示的语义更复杂。更重要的是,直接在术语图上定义优化并证明语义保持比在等价术语表示上要复杂得多。就条件而言,优化可以表示为条件项重写规则,重写保持语义的证明相对简单。在本文中,我们探索了一种使用术语重写来验证GraalVM编译器中优化的术语图转换的方法。这种方法大大减少了总体验证工作,并允许对优化规则进行更简单的编码。

    工具书类

    [1]
    阿尔弗雷德·阿霍(Alfred V.Aho)和杰弗里·乌尔曼(Jeffrey D.Ullman)。1970.直线程序的转换-初步版本。第二届ACM计算机理论年会论文集。ACM,美国纽约州纽约市136–148。https://doi.org/10.1145/800161.805159
    [2]
    阿尔弗雷德·阿霍(Alfred V.Aho)和杰弗里·乌尔曼(Jeffrey D.Ullman)。1972.直线程序的优化。SIAM J.计算。,1,1(1972年),3月1日至19日。https://doi.org/10.1137/021002
    [3]
    安德鲁·W·阿佩尔。1998年。SSA是函数编程。SIGPLAN否。,33、4(1998年),4月17日至20日。发行编号:0362-1340https://doi.org/10.1145/278283.278285
    [4]
    Franz Baader和Tobias Nipkow。1998.术语改写和所有这些。剑桥大学出版社,英国剑桥。https://doi.org/10.1017/CBO9781139172752
    [5]
    亨克·巴伦德雷格特(Henk Barendregt)、马克·范·埃克伦(Marko van Eekelen。1987年术语图改写。雅各布斯·W·德·巴克(编辑)《欧洲并行体系结构和语言会议录》(计算机科学讲义,第259卷)。斯普林格-Verlag,柏林,海德堡。141-158。https://doi.org/10.1007/3-540-17945-3_8
    [6]
    曼努埃尔·克莱维尔、弗朗西斯科·杜兰、史蒂文·艾克、帕特里克·林肯、纳西索·马丁奥列特、何塞·梅塞盖尔和卡罗琳·塔尔科特。2007年。所有关于Maude的内容-一个高性能逻辑框架:如何在重写逻辑中指定、编程和验证系统。施普林格出版社,德国海德堡,柏林,邮编:3540719407
    [7]
    Cliff Click和Michael Paleczny。1995年。一种简单的基于图的中间表示法。SIGPLAN否。,1995年3月30日至49日。发行编号:0362-1340https://doi.org/10.1145/202530.202534
    [8]
    罗纳德·加里·塞特隆(Ronald Gary Cytron)、珍妮·费兰特(Jeanne Ferrante)、巴里·罗森(Barry K.Rosen)、马克·韦格曼(Mark N.Wegman)和F.肯尼斯·扎德克(F.Kenneth Zadeck)。1989年,《计算静态单一赋值表的有效方法》,第16届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集(POPL'89)。美国纽约州纽约市ACM,25-35。编号:0897912942https://doi.org/10.1145/75277.75280
    [9]
    Delphine Demange、Yon Fernández de Retana和David Pichardie。2018.关于节点海的语义推理。第27届编译器构造国际会议(CC 2018)论文集。ACM,纽约州纽约市。163–173. 编号:9781450356442https://doi.org/10.1145/3178372.3179503
    [10]
    Gilles Duboscq、Thomas Würthinger、Lukas Stadler、Christian Wimmer、Doug Simon和Hanspeter Mössenböck。2013.动态编译器中推测优化的中间表示。第七届ACM虚拟机和中间语言研讨会论文集(VMIL’13)。ACM,美国纽约州纽约市,1-10。编号:9781450326018https://doi.org/10.1145/2542142.2542143
    [11]
    哈特穆特·埃里格。1979.图文法代数理论导论(综述)。Volker Claus、Hartmut Ehrig和Grzegorz Rozenberg(编辑),《图形语法及其在计算机科学和生物学中的应用》。施普林格,柏林,海德堡。1-69。isbn:978-3-540-35091-0https://doi.org/10.1007/BFb0025714
    [12]
    拉马纳·库马尔(Ramana Kumar)、马格努斯·奥·米林(Magnus O.Myreen)、迈克尔·诺里什(Michael Norrish)和斯科特·欧文斯(Scott Owens)。2014年,《CakeML:编程语言原理ML的验证实施》(POPL’14)。ACM,美国纽约州纽约市179–191。https://doi.org/10.1145/2535838.2535841
    [13]
    Chris Lattner和Vikram Adve。2004年,LLVM:终身程序分析与转换的编译框架。《代码生成与优化国际研讨会论文集》(CGO’04)。IEEE,美国纽约州纽约市,75–86。编号:0769521029https://doi.org/10.109/CGO.2004.1281665
    [14]
    Juneyong Lee、Chung-Kil Hur和Nuno P.Lopes。2019.AliveInLean:经过验证的LLVM Peephole优化验证程序。在计算机辅助验证中,Isil Dillig和Serdar Tasiran(编辑)。施普林格国际出版公司,Cham。445–455. 国际标准编号:978-3-030-25543-5https://doi.org/10.1007/978-3-030-25543-5_25
    [15]
    泽维尔·勒罗伊(Xavier Leroy)、桑德琳·布拉齐(Sandrine Blazy)、丹尼尔·卡斯特纳(Daniel Kästner)、伯恩哈德·肖默(Bernhard Schommer)、马库斯·皮斯特(Markus Pister)和克里斯蒂安·费迪南德(Christian。2016.CompCert-一个经过正式验证的优化编译器。嵌入式实时软件和系统,第八届欧洲大会(ERTS’16)。SEE,法国图卢兹。8页。https://hal.inia.fr/hal-01238879
    [16]
    安德烈亚斯·洛赫比勒。2018.Isabelle/HOL中的快速机器词汇。Jeremy Avigad和Assia Mahboubi(编辑)在《交互式定理证明2018》(计算机科学讲义,第10895卷)中写道。查姆施普林格。388–410. 国际标准号码:978-3-319-94821-8https://doi.org/10.1007/978-3-319-94821-8_23
    [17]
    Nuno P.Lopes、David Menendez、Santosh Nagarakatte和John Regehr。2018.Alive Peephole优化的实际验证。Commun公司。ACM,61,2(2018),1月,84–91。编号:0001-0782https://doi.org/10.1145/316064
    [18]
    威廉·曼斯基和埃尔萨·冈特。2010.编译器优化的形式验证框架。马特·考夫曼(Matt Kaufmann)和劳伦斯·保尔森(Lawrence C.Paulson)(编辑)(计算机科学讲义,第6172卷),《交互式定理证明2010》。施普林格,柏林,海德堡。371-386。编号:978-3-642-14052-5https://doi.org/10.1007/978-3642-14052-5_26
    [19]
    Daniel Matichuk、Toby Murray和Makarius Wenzel。2016年,Eisbach:Isabelle的证明方法语言。《自动推理杂志》,56,3(2016),3月261–282日。发行编号:1573-0670https://doi.org/10.1007/s10817-015-9360-2
    [20]
    何塞·梅塞盖尔(JoséMeseguer)。2012.重写逻辑二十年。逻辑与代数编程杂志,81,7(2012),10月,721-781。发行编号:1567-8326https://doi.org/10.1016/j.jlap.2012.06.003重写逻辑及其应用。
    [21]
    埃里克·马伦(Eric Mullen)、达里尔·祖尼加(Daryl Zuniga)、扎卡里·塔特洛克(Zachary Tatlock)和丹·格罗斯曼(Dan Grossman)。2016.验证CompCert的对等优化。第37届ACM SIGPLAN编程语言设计与实现会议记录(PLDI’16)。计算机械协会,美国纽约州纽约市448–461。编号:9781450342612https://doi.org/10.1145/2908080.2908109
    [22]
    托比亚斯·尼普科(Tobias Nipkow)、马库斯·温泽尔(Markus Wenzel)和劳伦斯·保尔森(Lawrence C.Paulson)。2002.Isabelle/HOL:高阶逻辑的证明助手(计算机科学讲义,第2283卷)。海德堡,柏林,斯普林格,isbn:3-540-43376-7 issn:0302-9743https://doi.org/10.1007/3-540-45949-9
    [23]
    神谕。2020年。GraalVM:随时随地更快地运行程序。https://github.com/oracle/graal网站
    [24]
    Detlef Plump酒店。2002.术语图改写要点。理论计算机科学电子笔记,51(2002),5月,277–289。发行编号:1571-0661https://doi.org/10.1016/S1571-0661(04)80210-X
    [25]
    托马斯·斯坦迪什(Thomas A.Standish)、D.C.哈里曼(D.C.Harriman)、丹尼斯·基布勒(Dennis F.Kibler)和詹姆斯·M·邻居(James M.Neighbors)。1976年,《欧文项目转换目录:使用源代码到源代码转换改进项目的思想库》。加州大学欧文分校信息与计算机科学系。版本0.2。
    [26]
    约翰·斯塔普斯。1980年。加快子树替换系统。理论计算机科学,11,1(1980),5月,39–47。发行编号:0304-3975https://doi.org/10.1016/0304-3975(80)90033-X
    [27]
    马丁·斯特雷克。2008.在证明助手中建模和验证图形转换。理论计算机科学电子笔记,203,1(2008),135–148。发行编号:1571-0661https://doi.org/10.1016/j.entcs.2008.03.039第四届术语和图形计算国际研讨会论文集(TERMGRAPH 2007)。
    [28]
    Mark Utting、Brae J.Webb和Ian J.Hayes。2022.编译器优化验证框架的差异测试(经验论文)。https://doi.org/10.48550/ARXIV.2212.01748
    [29]
    埃尔科·维瑟(Eelco Visser)、齐内·阿比丁·贝奈萨(Zine-el-Abidine Benaissa)和安德鲁·托尔马赫(Andrew Tolmach)。1999.使用重写策略构建程序优化程序。ACM SIGPLAN通知,34(1999),5月,https://doi.org/10.1145/289423.289425
    [30]
    Brae J.Webb、Mark Utting和Ian J.Hayes。2021.GraalVM中间表示的形式语义。在验证和分析自动化技术中,Zhe Hou和Vijay Ganesh(编辑)(计算机科学讲义,第12971卷)。施普林格国际出版公司,Cham。111–126. isbn:978-3-030-88885-5 issn:0302-9743https://doi.org/10.1007/978-3-030-88885-5_8
    [31]
    马卡里乌斯·温泽尔(Makarius Wenzel)。2022.伊莎贝尔/伊萨尔参考手册。德国慕尼黑TUM定理证明小组。
    [32]
    Jianzhou Zhao、Santosh Nagarakatte、Milo M.K.Martin和Steve Zdancewic。2012.为验证程序转换正式化LLVM中间表示。在POPL'12中。ACM,纽约州纽约市。427–440. 编号:9781450310833https://doi.org/10.1145/203656.2103709

    引用人

    查看全部

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    CPP 2023:第十二届ACM SIGPLAN认证程序和证明国际会议记录
    2023年1月
    347页
    国际标准图书编号:9798400700262
    内政部:10.1145/3573105
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

    发起人

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2023年1月11日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. GraalVM编译器
    2. 伊莎贝尔/HOL
    3. 节点海中间表示
    4. 验证代码优化器

    限定符

    • 研究文章

    会议

    23年CPP
    CPP’23:第十二届ACM SIGPLAN认证程序和证明国际会议
    2023年1月16日至17日
    马萨诸塞州,美国波士顿

    接受率

    总体接受率26份提交文件中的18份,69%

    即将召开的会议

    流行乐'25
    第52届ACM SIGPLAN编程语言原理年会
    2025年1月19日至25日
    丹佛,有限公司,美国

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)37
    • 下载次数(最近6周)0

    其他指标

    引文

    引用人

    查看全部

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件的形式查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享