跳到主要内容
10.1007/978-3-540-30569-9_3诉讼指南文章/章节视图摘要出版物页面会议记录acm-pubtype公司
第条

规范#编程系统:概述

出版:2004年3月10日出版历史

摘要

Spec#编程系统是一种新的尝试,旨在以更具成本效益的方式开发和维护高质量的软件。本文描述了Spec#编程系统的目标和体系结构,包括面向对象的Spec#编程语言、Spec#编译器和Boogie静态程序验证程序。该语言包括用于编写规范的构造,这些规范捕获程序员关于如何使用方法和数据的意图,编译器发出运行时检查以强制执行这些规范,验证器可以检查程序与其规范之间的一致性。

参考文献

  1. J.-R.阿布里亚。B书:赋予程序意义剑桥大学出版社,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  2. Allen L.Ambler、Donald I.Good、James C.Browne、Wilhelm F.Burger、Richard M.Cohen、Charles G.Hoch和Robert E.Wells。GYPSY:一种用于规范和实现可验证程序的语言。SIGPLAN通知,12(3):1-10,1977年3月。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 约翰·巴恩斯。高完整性软件:SPARK安全与保障方法Addison-Wesley,2003年。与Praxis Critical Systems Limited合作。谷歌学者谷歌学者数字图书馆数字图书馆
  4. Mike Barnett、Robert DeLine、Manuel Fähndrich、K.Rustan M.Leino和Wolfram Schulte。用不变量验证面向对象程序。对象技术杂志, 3(6):27-56, 2004.谷歌学者谷歌学者交叉引用交叉引用
  5. 迈克·巴内特(Mike Barnett)、沃尔夫冈·格里斯坎普(Wolfgang Grieskamp)、克莱门斯·科尔(Clemens Kerer)、沃尔夫拉姆·舒尔特(Wolfram Schulte)、克莱门·斯泽珀斯基(Clemins Szyperski)、尼古拉·蒂尔曼(Nikol。构成部件的严格规范。在Ivica Crnkovic、Heinz Schmidt、Judith Stafford和Kurt Wallnau的编辑中,第六届ICSE基于组件的软件工程研讨会论文集:自动推理和预测2003年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  6. 迈克·巴内特(Mike Barnett)、沃尔夫冈·格里斯坎普(Wolfgang Grieskamp)、列夫·纳奇曼森(Lev Nachmanson)、沃尔夫拉姆·舒尔特(Wolfram Schulte)、尼古拉·蒂尔曼(Nikolai Tillmann)和玛格斯·维纳斯。使用AsmL实现基于模型的测试的工具环境。第三届软件测试正式方法国际研讨会(FATES 2003)2003年10月。谷歌学者谷歌学者
  7. Mike Barnett和David A.Naumann。朋友需要更多:维护共享状态的不变量。编辑Dexter Kozen,程序构造数学《计算机科学课堂讲稿》,第54-84页。斯普林格,2004年7月。谷歌学者谷歌学者
  8. Mike Barnett、David A.Naumann、Wolfram Schulte和Qi Sun。99.44%纯度:规范中有用的抽象。编辑埃里克·波尔,ECOOP研讨会论文集FTfJP 2004,类Java程序的形式化技术,第11-19页,2004年6月。奈梅亨大学,NIII报告NIII-R0426。谷歌学者谷歌学者
  9. Mike Barnett和Wolfram Schulte。规范的基本成分:AsmL、行为和成分。Informatica公司,25(4):517-5262001年11月。谷歌学者谷歌学者
  10. Mike Barnett和Wolfram Schulte。的运行时验证。NET合同。系统与软件杂志, 65(3):199-208, 2003.谷歌学者谷歌学者数字图书馆数字图书馆
  11. 唐·博克斯。至关重要。NET,第一卷:公共语言运行库Addison-Wesley,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  12. Chandrasekhar Boyapati、Robert Lee和Martin Rinard。安全编程的所有权类型:防止数据竞争和死锁。2002年ACM SIGPLAN面向对象编程系统、语言和应用会议记录,OOPSLA 2002,第37卷,第11号英寸SIGPLAN通知,第211-230页。ACM,2002年11月。谷歌学者谷歌学者数字图书馆数字图书馆
  13. Lilian Burdy、Yoonsik Cheon、David R.Cok、Michael D.Ernst、Joseph R.Kiniry、Gary T.Leavens、K.Rustan M.Leino和Erik Poll。JML工具和应用程序概述。国际技术转让软件工具杂志,2004年。出现。谷歌学者谷歌学者数字图书馆数字图书馆
  14. 罗德里克·查普曼。SPARK的行业经验。2000年11月在SIGAda'00上发布。可从以下位置获得http://www.praxis-cs.co.uk。谷歌学者谷歌学者数字图书馆数字图书馆
  15. Yoonsik Cheon。Java建模语言的运行时断言检查器爱荷华州立大学博士论文,2003年4月。爱荷华州立大学计算机科学系,技术报告TR#03-09。谷歌学者谷歌学者交叉引用交叉引用
  16. Patrick Cousot和Rhadia Cousot。抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。第四届ACM编程语言原理年会会议记录,第238-252页。ACM,1977年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  17. Robert DeLine和Manuel Fähndrich。在低级软件中强制执行高级协议。2001年ACM SIGPLAN编程语言设计与实现会议记录(PLDI),第36卷,第5英寸SIGPLAN通知,第59-69页。ACM,2001年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  18. Robert DeLine和Manuel Fähndrich。对象的类型状态。编辑马丁·奥德斯基,ECOOP 2004——第18届欧洲会议面向对象编程,第3086卷,共页计算机科学课堂讲稿第465-490页。斯普林格,2004年6月。谷歌学者谷歌学者
  19. David Detlefs、Greg Nelson和James B.Saxe。简化:用于程序检查的定理证明器。技术报告HPL-2003-148,HP实验室,2003年7月。谷歌学者谷歌学者
  20. David L.Detlefs、K.Rustan M.Leino、Greg Nelson和James B.Saxe。扩展静态检查。研究报告159,康柏系统研究中心,1998年12月。谷歌学者谷歌学者
  21. L.Peter Deutsch。交互式程序验证程序1973年,加州大学伯克利分校博士论文。谷歌学者谷歌学者
  22. Krishna Kishore Dhara和Gary T.Leavens。通过规范继承强制行为子类型。第18届国际软件工程会议记录,第258-267页。IEEE,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. Manuel Fähndrich和K.Rustan M.Leino。在面向对象语言中声明和检查非空类型。2003年面向对象编程、系统、语言和应用ACM会议记录,OOPSLA 2003,卷38,编号11英寸SIGPLAN通知,第302-312页。ACM,2003年11月。谷歌学者谷歌学者数字图书馆数字图书馆
  24. 罗伯特·布鲁斯·芬德勒(Robert Bruce Findler)和马蒂亚斯·费尔莱森(Matthias Felleisen)。面向对象语言的契约可靠性。2001年ACM SIGPLAN面向对象编程系统、语言和应用会议记录,OOPSLA 2001,第36卷,编号11英寸SIGPLAN通知,第1-15页。ACM,2001年11月。谷歌学者谷歌学者数字图书馆数字图书馆
  25. 科马克·弗拉纳根(Cormac Flanagan)、K.鲁斯坦·莱诺(K.Rustan M.Leino)、马克·利利布里奇(Mark Lillibridge)、格雷格·纳尔逊(Greg Nelson)、詹姆斯·萨克斯(James B.Saxe)和雷米·斯塔塔(。Java的扩展静态检查。2002年ACM SIGPLAN编程语言设计与实现会议记录,第37卷,第5英寸SIGPLAN通知,第234-245页。ACM,2002年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  26. 罗伯特·W·弗洛伊德。为程序指定含义。计算机科学的数学方面,第19卷,共页应用数学研讨会论文集,第19-32页。美国数学学会,1967年。谷歌学者谷歌学者
  27. 史蒂文·M·德国人。自动证明没有常见运行时错误。第五届美国计算机学会编程语言原理年会会议记录1978年,第105-118页。谷歌学者谷歌学者数字图书馆数字图书馆
  28. 唐纳德·古德(Donald I.Good)、拉尔夫·L·伦敦(Ralph L.London)和W·W·布莱索(W.W.Bledsoe)。交互式程序验证系统。可靠软件国际会议记录,第482-492页。ACM,1975年。谷歌学者谷歌学者数字图书馆数字图书馆
  29. 约翰·B·太好了。结构化异常处理。第二届ACM程序设计语言原理研讨会会议记录,第204-224页。ACM,1975年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  30. 詹姆斯·戈斯林、比尔·乔伊和盖伊·斯蒂尔。Java™语言规范Addison-Wesley,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  31. 沃尔夫冈·格里斯坎普(Wolfgang Grieskamp)、尼古拉·蒂尔曼(Nikolai Tillmann)和玛格斯·维恩斯(Margus Veanes)。在模型驱动的开发环境中检测场景。提交的手稿,2004年。谷歌学者谷歌学者
  32. 大卫·瓜斯帕里(David Guaspari)、卡拉·马尔索(Carla Marceau)和沃尔夫冈·波拉克(Wolfgang Polak)。Ada程序的正式验证。IEEE软件工程汇刊,16(9):1058-10751990年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  33. 尤里·古雷维奇、本杰明·罗斯曼和沃尔夫拉姆·舒尔特。AsmL的语义本质。理论计算机科学, 2005. 出现。谷歌学者谷歌学者数字图书馆数字图书馆
  34. C.A.R.霍尔。计算机编程的公理方法。ACM通信, 12:576-580, 583, 1969.谷歌学者谷歌学者数字图书馆数字图书馆
  35. C.A.R.霍尔。监视器:操作系统结构概念。ACM通信,17(10):549-5571974年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  36. Bart Jacobs、K.Rustan M.Leino和Wolfram Schulte。用不变量验证多线程面向对象程序。基于组件的系统规范和验证研讨会会议记录,2004年。出现。谷歌学者谷歌学者
  37. 詹姆斯·C·金。符号执行和程序测试。ACM通信,19(7):385-3941976年7月。谷歌学者谷歌学者数字图书馆数字图书馆
  38. 詹姆斯·科尼利厄斯·金。程序验证程序1969年9月,卡内基梅隆大学博士论文。谷歌学者谷歌学者数字图书馆数字图书馆
  39. 巴特勒·W·兰普森、詹姆斯·霍宁、拉尔夫·L·伦敦、詹姆斯·米切尔和杰拉尔德·波佩克。关于编程语言欧几里得的报告。技术报告CSL-81-12,施乐PARC,1981年10月。本报告的早期版本为第12卷,第2号SIGPLAN通知ACM,1977年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  40. 加里·利文斯(Gary T.Leavens)、阿尔伯特·L·贝克(Albert L.Baker)和克莱德·鲁比(Clyde Ruby)。JML:详细设计的符号。编辑Haim Kilov、Bernhard Rumpe和Ian Simmonds,业务和系统的行为规范第175-188页。Kluwer学术出版社,1999年。谷歌学者谷歌学者交叉引用交叉引用
  41. 加里·利文斯(Gary T.Leavens)、阿尔伯特·L·贝克(Albert L.Baker)和克莱德·鲁比(Clyde Ruby)。JML的初步设计:一种Java行为接口规范语言。《技术报告98-06u》,爱荷华州立大学计算机科学系,2003年4月。谷歌学者谷歌学者
  42. K.鲁斯坦·莱诺(K.Rustan M.Leino)。数据组:指定扩展状态的修改。1998年ACM SIGPLAN面向对象编程系统、语言和应用会议记录(OOPSLA’98),第33卷,第10号英寸SIGPLAN通知,第144-153页。ACM,1998年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  43. K.鲁斯坦M.莱诺。扩展静态检查:十年展望。莱因哈德·威廉姆(Reinhard Wilhelm),编辑,信息学——10年前,10年前,第2000卷,共页计算机科学课堂讲稿第157-175页。斯普林格,2001年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  44. K.Rustan M.Leino、Todd Millstein和James B.Saxe。从验证条件反例生成错误跟踪。计算机程序设计科学,2004年。出现。谷歌学者谷歌学者数字图书馆数字图书馆
  45. K.Rustan M.Leino和Peter Müller。面向对象程序中全局模块不变量的模块化验证。技术报告459,苏黎世联邦理工学院,2004年9月。谷歌学者谷歌学者
  46. K.Rustan M.Leino和Peter Müller。动态上下文中的对象不变量。编辑马丁·奥德斯基,ECOOP 2004——第18届欧洲会议面向对象编程,第3086卷,共页计算机科学课堂讲稿,第491-516页。斯普林格,2004年6月。谷歌学者谷歌学者
  47. K.Rustan M.Leino和Greg Nelson。数据抽象和信息隐藏。程序设计语言与系统学报,24(5):491-5532002年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  48. K.Rustan M.Leino、James B.Saxe和Raymie Stata。通过保护命令检查Java程序。编辑Bart Jacobs、Gary T.Leavens、Peter Müller和Arnd Poetzsch-Heffter,Java程序的形式化技术,技术报告251。Fernniversität Hagen,1999年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  49. K.Rustan M.Leino和Wolfram Schulte。C#的异常安全。SEFM 2004——第二届软件工程和形式化方法国际会议第218-227页。IEEE,2004年9月。谷歌学者谷歌学者数字图书馆数字图书馆
  50. Barbara Liskov和John Guttag。程序开发中的抽象与规范麻省理工学院电气工程与计算机科学系列。麻省理工学院出版社,1986年。谷歌学者谷歌学者数字图书馆数字图书馆
  51. D.C.勒克汉姆。使用规范编程:Anna简介,一种用于指定Ada程序的语言计算机科学的文本和专著。Springer-Verlag,1990年。谷歌学者谷歌学者数字图书馆数字图书馆
  52. D.C.Luckham、S.M.German、F.W.von Henke、R.A.Karp、P.W.Milne、D.C.Oppen、W.Polak和W.L.Scherlis。Stanford Pascal Verifier用户手册。技术报告STANCS-79-731,斯坦福大学,1979年。谷歌学者谷歌学者数字图书馆数字图书馆
  53. 查尔斯·曼恩。为什么软件如此糟糕。麻省理工学院技术评论2002年7月/8月。谷歌学者谷歌学者
  54. 史蒂夫·麦康奈尔(Steve McConnell)。代码完整:软件构造实用手册微软出版社,1993年。谷歌学者谷歌学者数字图书馆数字图书馆
  55. 伯特兰·梅耶(Bertrand Meyer)。面向对象的软件构造。计算机科学系列。普伦蒂斯·霍尔国际,1988年。谷歌学者谷歌学者数字图书馆数字图书馆
  56. 彼得·米勒。面向对象程序的模块化描述和验证,第2262卷,共页计算机科学课堂讲稿Springer-Verlag,2002年。博士论文,FernUniversität Hagen。谷歌学者谷歌学者
  57. RTI健康、社会和经济研究。软件测试基础设施不足的经济影响。RTI项目7007.011,国家标准与技术研究所,2002年5月。谷歌学者谷歌学者
  58. 穆利·萨吉夫(Mooly Sagiv)、托马斯·雷普斯(Thomas Reps)和苏珊·霍维茨(Susan Horwitz)。精确的过程间数据流分析,应用于持续传播。理论计算机科学, 167(1-2):131-170, 1996.谷歌学者谷歌学者数字图书馆数字图书馆
  59. 亚历山德鲁·萨尔恰努(Alexandru Salcianu)和马丁·里纳德(Martin Rinard)。Java程序的指针和纯度分析相结合。MIT-CSAIL-TR-949技术报告,麻省理工学院,2004年5月。谷歌学者谷歌学者
  60. Richard L.Sites。证明计算机程序完全终止斯坦福大学博士论文,1974年5月。技术报告STAN-CS-74-418。谷歌学者谷歌学者数字图书馆数字图书馆
  61. 约阿希姆·范登伯格(Joachim van den Berg)和巴特·雅各布斯(Bart Jacobs)。Java和JML的LOOP编译器。在Tiziana Margaria和Wang Yi编辑中,用于系统构建和分析的工具和算法,第七届国际会议,TACAS 2001,第2031卷,共2031卷计算机科学课堂讲稿,第299-312页。斯普林格,2001年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  62. 米基·威廉姆斯。Microsoft Visual C#。净值微软出版社,2002年。谷歌学者谷歌学者
  63. 珍妮特·玛丽·荣格(Jeannette Marie Wing)。指定程序的双层方法1983年5月,麻省理工学院电气工程和计算机科学系博士论文。麻省理工学院计算机科学实验室TR-299。谷歌学者谷歌学者
  64. William A.Wulf、Ralph L.London和Mary Shaw。介绍Alphard程序的构建和验证。IEEE软件工程汇刊,SE-2(4):253-2651976年12月。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 规范#编程系统:概述
          索引项已通过自动分类分配给内容。

          建议

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            封面图片指南会议记录
            CASSIS’04:2004年安全、安全和互操作智能设备构造与分析国际会议记录
            2004年3月
            257页
            国际标准图书编号:3540242872

            出版商

            Springer-Verlag公司

            柏林,海德堡

            出版历史

            • 出版:2004年3月10日

            限定符

            • 第条