跳到主要内容
10.1145/3497775.3503951acm会议文章/章节视图摘要出版物页面波普尔会议记录会议集合
研究论文
开放式访问

Coq充满活力的验证工程生态系统(受邀演讲)

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

    一般来说,程序验证不仅仅是将程序逻辑机械化以处理编程语言的语义。您必须在应用程序领域的数学中进行推理——有许多应用程序领域,每个领域都有自己的领域专家社区。因此,您需要从多个领域导入机械化证明理论,并且它们必须互操作。这样的生态系统不仅是数学问题,也是软件过程工程和社会工程问题。从这些意义上来说,Coq的生态系统已经很成熟了。

    工具书类

    [1]
    安德鲁·W·阿佩尔。2011.验证软件工具链。在ESOP’11:欧洲编程研讨会上,Gilles Barthe(编辑)(LNCS,第6602卷)。施普林格,1-17。
    [2]
    安德鲁·W·阿佩尔。2015.密码原语的验证:SHA-256。ACM事务处理。《编程语言和系统》,37,2(2015),4月,7:1–7:31。
    [3]
    安德鲁·W·阿佩尔。2016.计算机安全模块验证。2016年CSF:第29届IEEE计算机安全基础研讨会。1–8.
    [4]
    安德鲁·W·阿佩尔。2107.验证的函数算法(软件基础,第3卷)。softwarefoundations.org。
    [5]
    Andrew W.Appel和Yves Bertot。2020年。C语言浮点证明与VST和Flocq分层。形式化推理杂志,13,1(2020),12月1日至16日。https://doi.org/10.6092/issn.1972-5787/11442
    [6]
    Andrew W.Appel、Robert Dockins、Aquina Hobor、Lennart Beringer、Josiah Dodds、Gordon Stewart、Sandrine Blazy和Xavier Leroy。2014.认证编译程序逻辑。剑桥。
    [7]
    安德鲁·W·阿佩尔(Andrew W.Appel)、保尔·安德烈·梅利埃(Paul-Andre Melliès)、克里斯托弗·理查兹(Christopher D.Richards)和杰罗姆·沃伊伦(Jeróme Vouillon)。2007年,现代、专业、通用型系统的非常模态模型。程序中。第34届程序设计语言原理年会(POPL'07)。109–122.
    [8]
    Andrew W.Appel和David A.Naumann。2020年。验证序列Malloc/Free。在记忆管理国际研讨会上。48–59.
    [9]
    阿拉斯代尔·阿姆斯特朗、托马斯·鲍瑞斯、布莱恩·坎贝尔、阿拉斯泰尔·里德、凯瑟琳·格雷、罗伯特·M·诺顿、普拉山斯·蒙德库尔、马克·沃塞尔、乔恩·弗伦奇、克里斯托弗·普尔特、抖流感、伊恩·斯塔克、内尔·克里希纳斯瓦米和彼得·苏厄尔。2019.针对ARMv8-a、RISC-v和CHERI-MIPS的ISA语义。程序。ACM计划。Lang.,3,POPL(2019),第71条,1月,31页。https://doi.org/10.1145/3290384
    [10]
    Lennart Beringer和Andrew W.Appel。2021.C程序模块验证中的抽象和包容。系统设计中的形式化方法,https://doi.org/10.1007/s10703-020-00353-1
    [11]
    Lennart Beringer、Adam Petcher、Katherine Q.Ye和Andrew W.Appel。2015.验证OpenSSL HMAC的正确性和安全性。在第24届USENIX安全研讨会上。USENIX协会,207–221。
    [12]
    Sylvie Boldo、Jacques-Henri Jourdan、Xavier Leroy和Guillaume Melquiond。2013.一个经过正式验证的支持浮点运算的C编译器。2013年IEEE第21届计算机算术研讨会。107–115.
    [13]
    西尔维·博尔多(Sylvie Boldo)和纪尧姆·梅尔金德(Guillaume Melquiond)。2011.Flocq:Coq中用于证明浮点算法的统一库。2011年IEEE第20届计算机算术研讨会。243–252.
    [14]
    西尔维·博尔多(Sylvie Boldo)和纪尧姆·梅尔金德(Guillaume Melquiond)。2017.计算机算法和形式证明:使用Coq系统验证浮点算法。爱思唯尔。
    [15]
    托马斯·布尔盖特(Thomas Bourgeat)、克莱门特·皮特·夸德尔(Clément Pit-Claudel)和亚当·克利帕拉(Adam Chlipala)。2020年。Bluespec的本质:基于规则的硬件设计的核心语言。第41届ACM SIGPLAN编程语言设计与实现会议论文集。243–257.
    [16]
    曹勤祥(Qinxiang Cao)、贝林格(Lennart Beringer)、格鲁特(Samuel Gruetter)、多兹(Josiah Dodds)和安得烈(Andrew W.Appel)。2018年,VST-Floyd:验证C程序正确性的分离逻辑工具。J.汽车。原因。,61,1-4(2018),367-422年6月。发行号:0168-7433https://doi.org/10.1007/s10817-018-9457-5
    [17]
    曹勤祥、王胜毅、阿奎娜·霍伯和安德鲁·阿佩尔。2018.证明珍珠:魔杖作为框架。https://www.cs.princeton.edu/~appel/papers/wand-frame.pdf
    [18]
    亚瑟·查古埃罗(Arthur Charguéraud)。2011.强制性程序验证的特征公式。在第16届ACM SIGPLAN国际功能编程会议(ICFP’11)的会议记录中。美国纽约计算机械协会,418–430。https://doi.org/10.1145/2034773.2034828
    [19]
    Joshua M.Cohen、Qinshi Wang和Andrew W.Appel。2021.验证了Coq.中的前向擦除校正。正在准备中。
    [20]
    加丹·吉尔伯特、杰斯珀·考克斯、马蒂厄·索佐和尼古拉斯·塔巴劳。2019.无K.程序的最终相关性证明。ACM计划。Lang.,3,POPL(2019),第3条,1月,28页。https://doi.org/10.1145/3290316
    [21]
    顾荣辉、杰瑞米·柯宁、塔希娜·拉马纳南德罗、钟绍、吴雄南(纽曼)、翁树春、张浩忠和于过。2015年,深度规范和认证抽象层。在第42届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录中,2015年POPL,Sriram K.Rajamani和David Walker(编辑)。美国医学会,595–608。isbn:978-1-4503-3300-9https://doi.org/10.1145/2676726.2676975
    [22]
    阿玛埃尔·盖诺、马格努斯·奥·米林、拉马纳·库马尔和迈克尔·诺里什。2017.CakeML验证特征配方。《编程语言和系统:第26届欧洲编程研讨会》,2017年ESOP,作为欧洲软件理论与实践联合会议的一部分,2017年ETAPS,2017年4月22日至29日,瑞典乌普萨拉,会议记录。施普林格-柏林-海德堡,柏林,海德堡。584–610。国际标准编号:978-3-662-54434-1https://doi.org/10.1007/978-3-662-54434-1_22
    [23]
    约翰·哈里森。1999年,浮点运算的机器检验理论。《高阶逻辑中的定理证明:第12届国际会议》,TPHOLs'99(LNCS,Vol.1690)。斯普林格·弗拉格,113-130。
    [24]
    康斯坦斯·海特迈尔(Constance Heitmeyer)、米拉·阿切尔(Myla Archer)、伊丽莎白·伦纳德(Elizabeth Leonard)和约翰·麦克莱恩(John McLean)。2008年。将正式方法应用于可认证安全的软件系统。IEEE软件工程学报,34,1(2008),82–98。
    [25]
    Bart Jacobs、Jan Smans、Pieter Philipparts、Frédéric Vogels、Willem Penninckx和Frank Piessens。2011年。VeriFast:一个强大、可靠、可预测、快速的C和Java验证程序。在NASA正式方法研讨会上。41–55.
    [26]
    拉尔夫·荣格(Ralf Jung)、雅克·亨利·朱丹(Jacques-Henri Jourdan)、罗伯特·克雷伯斯(Robbert Krebbers)和德里克·德雷尔(Derek Dreyer)。2017.RustBelt:巩固Rust编程语言的基础。美国计算机学会程序设计语言论文集,2,POPL(2017),1-34。
    [27]
    拉尔夫·荣格(Ralf Jung)、罗伯特·克雷伯斯(Robbert Krebbers)、雅克·亨利·朱丹(Jacques-Henri Jourdan)、阿列什·比兹贾克(AlešBizjak)、拉尔斯·比克达尔(Lars Birkedal)和德里克·德雷尔(Dere。2018.从头开始的Iris:高阶并发分离逻辑的模块化基础。功能编程杂志,28(2018)。
    [28]
    弗洛伦特·基什内尔(Florent Kirchner)、尼古拉·科马托夫(Nikolai Kosmatov)、维吉尔·普雷沃斯托(Virgile Prevosto)、朱利安·西莫尔斯(Julien Signoles)和鲍里斯·亚科博夫斯基(Boris Yakobowski)。2015年,Frama-C:软件分析视角。计算的形式方面,27,3(2015),573–609年5月1日。发行号:1433-299Xhttps://doi.org/10.1007/s00165-014-0326-7
    [29]
    格温·克莱因(Gerwin Klein)、凯文·埃尔芬斯通(Kevin Elphinstone)、格诺特·海泽(Gernot Heiser)、琼·安德罗尼克(June Andronick)、大卫·科克(David Cock)、菲利普·德林(Philip Derrin)、达米卡·埃尔卡杜威(Dhammika Elkaduwe)、凯。seL4:操作系统内核的正式验证。ACM SIGOPS第22届操作系统原理研讨会论文集。207–220.
    [30]
    尼古拉斯·高、姚莉、李一帅、夏丽瑶、伦纳特·贝林格、沃尔夫·奥诺雷、威廉·曼斯基、本杰明·皮尔斯和史蒂夫·兹丹塞维奇。2019.从C到交互树:指定、验证和测试网络服务器。第八届ACM SIGPLAN认证程序和证明国际会议记录。234–248.
    [31]
    Michael Kohlhase和Florian Rabe。2021.出口主要校样助理图书馆的经验。《自动推理》,65(2021),1265-1298年8月。https://doi.org/10.1007/s10817-021-09604-0
    [32]
    罗伯特·克雷伯斯、雅克·亨利·朱丹、拉尔夫·荣格、约瑟夫·塔萨罗蒂、詹奥利弗·凯泽、阿明·蒂曼尼、亚瑟·查古埃罗和德里克·德雷尔。MoSeL:分离逻辑中交互式证明的通用、可扩展模式框架。程序。ACM计划。Lang.,2,ICFP(2018),第77条,7月,30页。https://doi.org/10.1145/3236772
    [33]
    拉马纳·库马尔(Ramana Kumar)、马格努斯·奥米林(Magnus O Myreen)、迈克尔·诺里什(Michael Norrish)和斯科特·欧文斯(Scott Owens)。2014年。CakeML:经验证的实施ML.ACM SIGPLAN通知,49,1(2014),179-191。
    [34]
    K.鲁斯坦·莱诺(K.Rustan M.Leino)。2010年,Dafny:功能正确性的自动程序验证程序。《程序设计、人工智能和推理逻辑——第16届国际会议,LPAR-16,塞内加尔达喀尔,2010年4月25日至5月1日,修订论文集》,Edmund M.Clarke和Andrei Voronkov(编辑)(LNCS 6355)。施普林格,348-370。国际标准编号:978-3-642-17510-7https://doi.org/10.1007/978-3-642-17511-4_20
    [35]
    泽维尔·勒罗伊。2009.真实编译器的正式验证。Commun公司。ACM,52,7(2009),107–115。
    [36]
    阿西亚·马布比和恩里科·塔西。2021.数学组件。泽诺。https://doi.org/10.5281/zenodo.4457887网址
    [37]
    威廉·曼斯基(William Mansky)。2022.将Iris引入验证软件工具链。(正在准备中)。
    [38]
    William Mansky、Andrew W.Appel和Aleksey Nogin。2017.验证消息传递系统。2017年ACM面向对象编程系统语言与应用国际会议论文集(OOPSLA’17)。ACM公司。
    [39]
    约翰·米切尔(John C.Mitchell)和戈登·普洛金(Gordon D.Plotkin)。1988.抽象类型具有存在类型。ACM事务处理。关于编程语言和系统,10,3(1988),7月,470-502。
    [40]
    安舒马·莫汉(Anshum Mohan)、魏香柳(Wei Xiang Leow)和阿奎娜斯·霍伯(Aquina Hobor)。2021.Dijkstra、Kruskal和Prim算法的C实现的功能正确性。在计算机辅助验证国际会议上。801–826.
    [41]
    Adam Petcher和Greg Morrisett。2015年,《基础加密框架》,《安全与信任原则》(POST’15)(LNCS,第9036卷)。施普林格,53–72岁。
    [42]
    罗伯特·波拉克。1998年,《如何相信机器检验的证据》。在《二十五年的建构型理论》中,G.Sambin和J.Smith(编辑)。牛津大学出版社。
    [43]
    洛伊克·普杰特和尼古拉斯·塔巴鲁。2022.观察平等:现在是好的。程序。ACM计划。Lang.,5,POPL(2022年),文章(即将发表),1月。
    [44]
    塔希娜·拉马南南德罗(Tahina Ramananandro)、保罗·蒙卡斯尔(Paul Mountcastle)、贝诺·梅斯特(Benoêt Meister)和理查德·莱廷(Richard Lethin)。2016.使用浮点计算验证C程序的统一Coq框架。第五届ACM SIGPLAN认证项目和证明会议记录(CPP 2016)。计算机协会,美国纽约州纽约市,15-26。https://doi.org/10.1145/2854065.2854066
    [45]
    塔里亚·林格(Talia Ringer)、卡尔·帕尔姆斯科格(Karl Palmskog)、伊利亚·谢尔盖(Ilya Sergey)、米洛斯·格利戈里奇(Milos Gligoric)和扎卡里·塔特洛克(Zachary Tatlock。2019.大规模QED:正式验证软件工程调查。《程序设计语言基础与趋势》,第5期,第2-3期(2019年),第102–281页。发行编号:2325-1107https://doi.org/10.1561/250000045
    [46]
    迈克尔·桑姆勒(Michael Sammler)、鲁道夫·莱皮格雷(Rodolphe Lepigre)、罗伯特·克雷伯斯(Robbert Krebbers)、凯文·梅马里安(Kayvan Memarian)、德里克·德雷耶(Derek Dreyer)和迪帕克·加格(Deepak。精炼C:使用精炼所有权类型自动化C代码的基础验证。第42届ACM SIGPLAN国际编程语言设计与实现会议(PLDI)论文集。计算机协会,158-174。https://doi.org/10.1145/3453483.3454036
    [47]
    王胜毅、曹勤祥、莫汉和霍伯。2019.通过数据结构中的本地化来认证图形操作C程序。程序。ACM计划。Lang.,3,OOPSLA(2019),第171条,10月,30页。https://doi.org/10.1145/3360597
    [48]
    Katherine Q.Ye、Matthew Green、Naphat Sanguansin、Lennart Beringer、Adam Petcher和Andrew W.Appel。2017.验证了mbedTLS HMAC-DRBG的正确性和安全性。在ACM计算机和通信安全会议(CCS’17)上。ACM,2007-2020年。https://doi.org/10.1145/3133956.3133974

    引用人

    查看全部
    • (2024)结构化数据的机械化超安全证明美国计算机学会程序设计语言会议录10.1145/36564038:磅/平方英寸(647-670)在线发布日期:2024年6月20日
    • (2024)UTC时间,正式验证第13届ACM SIGPLAN认证程序和证明国际会议记录10.1145/3636501.3636958(2-13)在线发布日期:2024年1月9日
    • (2024)效率之根:分离逻辑中基于数组树的机械化推理第13届ACM SIGPLAN认证程序和证明国际会议记录10.1145/3636501.3636944(45-59)在线发布日期:2024年1月9日

    索引术语

    1. Coq充满活力的验证工程生态系统(受邀演讲)

        建议

        评论

        信息和贡献者

        问询处

        发布于

        封面图片ACM会议
        CPP 2022:第11届ACM SIGPLAN认证程序和证明国际会议记录
        2022年1月
        351页
        国际标准图书编号:9781450391825
        内政部:10.1145/3497775
        如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的部分或全部数字或硬拷贝以供个人或课堂使用。必须尊重本作品第三方组件的版权。对于所有其他用途,请联系所有者/作者。

        赞助商

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        出版:2022年1月11日

        检查更新

        作者标记

        限定符

        • 研究文章

        会议

        CPP’22
        CPP’22:第11届ACM SIGPLAN认证程序和证明国际会议
        2022年1月17日至18日
        宾夕法尼亚州,美国费城

        接受率

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

        即将召开的会议

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

        贡献者

        其他指标

        文献计量学和引文

        文献计量学

        文章指标

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

        其他指标

        引文

        引用人

        查看全部
        • (2024)结构化数据的机械化超安全证明美国计算机学会程序设计语言会议录10.1145/36564038:PLDI(647-670)在线发布日期:2024年6月20日
        • (2024)UTC时间,正式验证第13届ACM SIGPLAN认证程序和证明国际会议记录10.1145/3636501.3636958(2-13)在线发布日期:2024年1月9日
        • (2024)效率之根:分离逻辑中基于数组树的机械化推理第13届ACM SIGPLAN认证程序和证明国际会议记录10.1145/3636501.3636944(45-59)在线发布日期:2024年1月9日

        视图选项

        查看选项

        PDF格式

        以PDF文件查看或下载。

        PDF格式

        电子阅读器

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

        电子阅读器

        获取访问权限

        登录选项

        完全访问权限

        媒体

        数字

        其他

        桌子

        分享

        分享

        共享此出版物链接

        在社交媒体上分享