×

使用I/O对命令式程序进行基于跟踪的验证。 (英语) 兹比尔1215.68070

摘要:在本文中,我们演示了如何使用Coq证明助手证明使用指针、文件和套接字I/O等低级命令功能实现的系统相对于高级I/O协议描述的正确性。我们展示了一个基于网络的课程成绩册应用程序,该应用程序是用Ynot开发的,Ynot是一个用于验证命令式编程的Coq库。我们向Ynot添加了一个基于对话的I/O系统,并使用事件跟踪扩展了Ynot的底层Hoare逻辑,以分析I/O和协议行为。表达性抽象允许对高级规范(如隐私保证)和低级属性(如数据结构指针不变量)进行模块化验证。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
68号01 软件理论的一般主题
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 马丁·阿巴迪;Gordon,Andrew D.,《密码协议演算:spi演算》,(CCS’97:第四届ACM计算机和通信安全会议论文集(1997),ACM:美国纽约州纽约市ACM),36-47·Zbl 0924.68073号
[2] 伊夫·贝尔托;皮埃尔·卡斯特兰(Pierre Caste ran),《交互式定理证明和程序开发》(理论计算机科学文本(2004),施普林格出版社)·Zbl 1069.68095号
[3] 马克·比克福德(Mark Bickford)、康斯特布尔(Constable)、罗伯特·L.(Robert L.),2003年。事件的逻辑。康奈尔大学技术报告。;马克·比克福德(Mark Bickford)、康斯特布尔(Constable)、罗伯特·L.(Robert L.),2003年。事件的逻辑。康奈尔大学技术报告·Zbl 1345.03114号
[4] 史蒂夫·毕晓普(Steve Bishop);马修·费尔贝恩(Matthew Fairbairn);迈克尔·诺里什(Michael Norrish);彼得·休厄尔(Peter Sewell);迈克尔·史密斯;Wansbrough,Keith,《逻辑工程:tcp实现的Hol规范和符号赋值测试》,(《编程语言原理》06(2006),ACM:美国纽约州纽约市ACM),55-66
[5] 布鲁姆,巴德;Istrail,Sorin;Albert R.Meyer,《无法追踪相互模拟》,《美国医学杂志》,第42期,第123-268页(1995年)·Zbl 0886.68027号
[6] 罗伯特·博伊尔(Robert S.Boyer)。;Moore,J.Strother,acl2中的单线程对象,(声明语言的实际方面。声明语言的实践方面,PADL.声明语言的实用方面。声明性语言的实践部分,PADL,LNCS,第2257卷(1999),Springer-Verlag),9-27
[7] Stephen Brookes,《并发分离逻辑的语义》,理论计算机科学,375,1-3,227-270(2007)·Zbl 1111.68021号
[8] 卢卡斯·布尔瓦恩;亚历山大·克劳斯;弗洛里安·哈夫特曼;勒文特·埃尔科克;约翰·马修斯(Matthews,John),《用isabelle/hol实现强制函数编程》(TPHOLs'08:第21届高阶逻辑定理证明国际会议论文集(2008),施普林格-弗拉格:施普林格柏林,海德堡),134-149·Zbl 1165.68352号
[9] Chlipala,Adam,Ur:带有类型级记录计算的静态类型元编程,SIGPLAN通知。,45, 6, 122-133 (2010)
[10] Chlipala、Adam、Malecha、Gregory、Morrisett、Greg、Shinnar、Avraham、Wisnesky、Ryan,2009年。高阶命令式程序的有效交互证明。在:第14届ACM SIGPLAN函数编程国际会议论文集。;Chlipala、Adam、Malecha、Gregory、Morrisett、Greg、Shinnar、Avraham、Wisnesky、Ryan,2009年。高阶命令式程序的有效交互证明。摘自:第14届ACM SIGPLAN函数编程国际会议论文集·Zbl 1302.68087号
[11] 克拉克,E.M。;艾默生,E.A。;Sistla,A.P.,使用时态逻辑规范的有限状态并发系统的自动验证,美国计算机学会编程语言与系统汇刊,8,2244-263(1986)·Zbl 0591.68027号
[12] 弗朗西斯科·柯贝拉;马修·达夫特勒(Matthew Duftler);哈拉夫,拉尼亚;威廉·纳吉;穆基,尼马尔;Weerawarana,Sanjiva,《拆解web服务web:soap、wsdl和uddi简介》,IEEE Internet Computing,6,2,86-93(2002)
[13] David Delahaye,2000年。系统Coq的一种战术语言。摘自:《逻辑编程、人工智能和推理国际会议论文集》。;David Delahaye,2000年。系统Coq的一种策略语言。收录:逻辑编程、人工智能和推理国际会议论文集·Zbl 0988.68584号
[14] 冯新余;邵,钟;董元;Guo,Yu,用硬件中断和抢占线程认证低级程序,(PLDI’08:2008年ACM SIGPLAN编程语言设计与实现会议论文集(2008),ACM:美国纽约州纽约市ACM),170-182·Zbl 1191.68176号
[15] Filliátre,Jean-Christophe,Letouzey,Pierre,2004年。证明和程序的函数。2004年欧洲规划研讨会。第370-384页。;Filliátre,Jean-Christophe,Letouzey,Pierre,2004年。证明和程序的函数。2004年欧洲规划研讨会。第370-384页·Zbl 1126.68475号
[16] Ford,Bryan,《解析表达式语法:基于识别的句法基础》,(POPL'04:第31届ACM SIGPLAN-SIGACT编程语言原则年会论文集(2004),ACM:美国纽约州纽约市ACM),111-122·Zbl 1325.68120号
[17] 本田、Kohei;吉田、Nobuko;Carbone,Marco,多方异步会话类型,SIGPLAN通知,43,1,273-284(2008)·Zbl 1295.68150号
[18] 黄耀文;余、方;Hang,基督徒;蔡忠洪;德赛·李;Kuo,Sy-Yen,通过静态分析和运行时保护保护web应用程序代码,(WWW’04(2004),ACM:ACM纽约,纽约,美国),40-52
[19] Daniel Jackson,Alloy:轻量级对象建模符号,ACM软件工程与方法汇刊,11,2,256-290(2002)
[20] Jones,Simon L.Peyton;Philip Wadler,《强制函数编程》(POPL'93:第20届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集(1993),ACM:美国纽约州纽约市ACM),71-84
[21] 考夫曼,马特;Moore,J.S.,基于通用lisp的逻辑的工业强度定理证明器,IEEE软件工程学报,23,203-213(1997)
[22] Keller,Wolfgang,1997年。将对象映射到表:一种模式语言。收录于:《欧洲程序设计模式语言会议论文集》,EuroPLOP'97。;Keller,Wolfgang,1997年。将对象映射到表:一种模式语言。摘自:《欧洲编程模式语言会议论文集》,EuroPLOP’97。
[23] 格温·克莱恩(Gerwin Klein);凯文·埃尔芬斯通;Gernot Heiser;Andronick,六月;大卫·科克;菲利普·德林(Philip Derrin);达米卡Elkaduwe;Kai Engelhardt;拉斐尔·科兰斯基;迈克尔·诺里什(Michael Norrish);Thomas Sewell;哈维·图什;Winwood,Simon,sel4:操作系统内核的形式验证,(SOSP'09:ACM SIGOPS第22届操作系统原理研讨会论文集(2009),ACM:ACM纽约,美国纽约州),207-220
[24] Letouzey,P.,Coq的新摘录,(计算机科学讲义,第2646卷(2003)),200-219·Zbl 1023.68516号
[25] 巴巴拉·利斯科夫;斯蒂芬·齐尔斯。,数据抽象规范技术,IEEE软件工程学报,1,1,7-19(1975)
[26] Lőh,Andres;Hinze,Ralf,开放数据类型和开放函数,(国际声明性编程原则和实践会议(2006),ACM出版社:美国纽约州纽约市ACM出版社),133-144
[27] Loo、Boon Thau;泰森·康迪;加罗法拉基斯,米诺斯;大卫·盖伊(David E.Gay)。;约瑟夫·海勒斯坦(Joseph M.Hellerstein)。;Maniatis公司、Petros公司;拉格胡·罗摩克里希南;蒂莫西·罗斯科;Stoica,Ion,声明性网络:语言、执行和优化,(SIGMOD'06:2006年ACM SIGMOD国际数据管理会议记录(2006),ACM:美国纽约州纽约市ACM),97-108
[28] Gregory Malecha;瑞安·威斯内斯基(Ryan Wisnesky);Avraham Shinnar;Morrisett,Greg,Ynot认证数据管理,(POPL'10:编程语言原理(2009),ACM)·兹比尔1312.68083
[29] 康纳·麦克布莱德;McKinna,James,《从左看》,《函数编程杂志》,14,1,69-111(2004)·Zbl 1069.68539号
[30] 詹姆斯·麦金纳(James Mckinna);Wright,Joel,警句中的类型正确、堆栈安全、可证明正确的表达式编译器,《函数编程杂志》(2006)
[31] 阿列克桑达尔·纳内夫斯基;保罗·戈维罗(Paul Govereau);Greg Morrisett,Towards type-theoretic semantics for transactional concurrency,(第四届ACM SIGPLAN Workshop on Types in Language Design and Implementation(2008),ACM:ACM New York,NY,USA),79-90·Zbl 1323.68142号
[32] 纳内夫斯基、阿列克桑达尔、莫里塞特、格雷格、比克达尔、拉尔斯,2006年。hoare型理论中的多态性和分离。摘自:第十一届ACM SIGPLAN函数编程国际会议记录。;纳内夫斯基、阿列克桑达尔、莫里塞特、格雷格、比克达尔、拉尔斯,2006年。hoare型理论中的多态性和分离。摘自:第11届ACM SIGPLAN函数编程国际会议记录·Zbl 1321.68351号
[33] Nanevski、Aleksandar、Morrisett、Greg、Shinnar、Avraham、Govereau、Paul、Birkedal、Lars,2008年。Ynot:命令式程序的依赖类型。摘自:第13届ACM SIGPLAN函数编程国际会议论文集。;Nanevski、Aleksandar、Morrisett、Greg、Shinnar、Avraham、Govereau、Paul、Birkedal、Lars,2008年。Ynot:命令式程序的依赖类型。摘自:第13届ACM SIGPLAN函数编程国际会议记录·Zbl 1323.68142号
[34] 格列布·诺莫维奇(Gleb Naumovich);Centonze,Paolina,j2ee应用程序中基于角色的访问控制的静态分析,SIGSOFT软件工程注释,29,5,1-10(2004)
[35] 托拜厄斯·尼普科;劳伦斯·保尔森;Wenzel,Markus,Isabelle/HOL:高阶逻辑的证明助理(2002),Springer-Verlag:英国伦敦Springer-Verlag·Zbl 0994.68131号
[36] 诺雷尔,乌尔夫,《走向基于依赖类型理论的实用编程语言》。博士论文。查尔默斯理工大学,2007年。;诺雷尔,乌尔夫,《走向基于依赖类型理论的实用编程语言》。博士论文。查尔默斯理工大学,2007年。
[37] O'Hearn,Peter W.,Reynolds,John C.,Yang,Hongseok,2001年。关于改变数据结构的程序的局部推理。收录于:CSL’01:欧洲计算机科学逻辑协会第十届年会论文集。;O'Hearn,Peter W.,Reynolds,John C.,Yang,Hongseok,2001年。关于改变数据结构的程序的局部推理。收录于:CSL’01:欧洲计算机科学逻辑协会第十届年会会议记录·Zbl 0999.68045号
[38] 彼得森(Rasmus Lerchedahl Petersen);Birkedal,Lars;阿列克桑达尔·纳内夫斯基;格雷格·莫里塞特(Greg Morrisett),《无意义灰白色理论的可实现性模型》(Drossopoulou,Sophia,2008年欧洲编程研讨会)。2008年欧洲编程研讨会,《计算机科学讲义》,第4960卷(2008年),施普林格出版社,337-352·Zbl 1133.68311号
[39] 约翰·雷诺兹,2002年。分离逻辑:用于共享可变数据结构的逻辑。摘自:IEEE计算机科学逻辑研讨会。;Reynolds,John C.,2002年。分离逻辑:用于共享可变数据结构的逻辑。摘自:IEEE计算机科学逻辑研讨会。
[40] 托马斯·里奇(Thomas Ridge),《验证分布式系统:操作方法》(POPL'09:第36届ACM SIGPLAN-SIGACT编程语言原理年度研讨会论文集(2009),ACM:美国纽约州纽约市ACM),429-440·Zbl 1315.68105号
[41] Leino,K.Rustan M.,《学习进行程序验证》,《ACM通信》,第53、6、106页(2010年)·Zbl 1253.68095号
[42] Swierstra,Wouter,效果功能规范。博士论文。诺丁汉大学,2009年。;Swierstra,Wouter,效果功能规范。博士论文。诺丁汉大学,2009年·Zbl 1252.68067号
[43] 王安多;Prithwish巴苏;Loo、Boon Thau;Sokolsky,Oleg,声明性网络验证,(PADL'09:第十一届声明性语言实践方面国际研讨会论文集(2009),斯普林格·弗拉格:斯普林格尔·弗拉格柏林,海德堡),61-75
[44] Zee、Karen、Kuncak、Viktor、Rinard、Martin,链接数据结构的全功能验证。摘自:PLDI’08:2008年编程语言设计与实现会议记录。;Zee、Karen、Kuncak、Viktor、Rinard、Martin,链接数据结构的全功能验证。摘自:PLDI’08:2008年编程语言设计与实现会议记录·Zbl 1132.68348号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。