×

末日计划点数。 (英语) Zbl 1211.68090号

小结:任何在编译程序之前可以发现的编程错误都会为程序员节省宝贵的时间。虽然集成开发环境通过检测数据流异常等方式已经做得很好,但当前的静态分析工具存在误报(“噪音”)或需要强大的用户交互。
我们建议通过定义一类新的错误来避免这一缺陷。如果程序片段的执行将不可避免地失败,无论它是在哪种状态下启动的,那么程序片段就是注定要失败的。我们使用正式的验证方法来完全自动地识别此类错误,最重要的是,不会产生噪音。我们报告了使用原型工具进行的实验。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Ayewah N、Pugh W、Morgenthaler JD、Penix J、Zhou Y(2007)《评估生产软件上的静态分析缺陷警告》。参加:软件工具和工程程序分析研讨会,PASTE'07。ACM,纽约,第1-8页
[2] Ball T、Kupferman O、Yorsh G(2005)《伪造的抽象》。In:计算机辅助验证,CAV’05。LNCS,第3576卷。柏林施普林格,第67-81页·Zbl 1081.68051号
[3] Barnett M,Leino KRM(2005)非结构化程序的弱前提条件。参加:软件工具和工程程序分析研讨会,PASTE’05。ACM,纽约,第82–87页
[4] Barnett M,Chang B-YE,DeLine R,Jacobs B,Leino KRM(2005)Boogie:面向对象程序的模块化可重用验证器。In:组件和对象的形式化方法:第四届国际研讨会,FMCO’05。LNCS,第4111卷。柏林施普林格,第364–387页
[5] Barnett M、Leino KRM、Schulte W(2005)《规范#编程系统:概述》。内容:CASSIS 2004,安全、可靠和可互操作智能设备的构建和分析。LNCS,第3362卷。施普林格,柏林,第49–69页
[6] Beer I、Ben-David S、Eisner C、Rodeh Y(1997)《有效检测实际配方奶粉中的真空度》。In:计算机辅助验证,CAV’97。柏林施普林格,第279-290页
[7] Bornat R(2000)用Hoare逻辑证明指针程序·Zbl 0963.68036号
[8] Burstall RM(1972)证明改变数据结构的程序正确性的一些技术。马赫数学习7·Zbl 0259.68009号
[9] Clarke EM,Kroening D,Lerda F(2004)用于检查ANSI-C程序的工具。参加:2004年TACAS系统构建和分析工具和算法国际会议。LNCS,第2988卷。柏林施普林格,第168-176页·Zbl 1126.68470号
[10] Cohen E,Moskal M,Schulte W,Tobies S(2000)并发程序的实用验证方法。技术报告MSR-TR-2009-15,Microsoft Research
[11] Cytron R,Ferrante J,Rosen BK,Wegman MN,Zadeck FK(1991)高效计算静态单一赋值形式和控制依赖图。ACM Trans程序语言系统13(4):451–490·数字对象标识代码:10.1145/115372.115320
[12] Dijkstra EW(1976)编程学科。英格伍德悬崖普伦蒂斯·霍尔·兹比尔0368.68005
[13] Ernie Cohen MD、Hillebrand M、Leinenbach D、Moskal M、Santen T、Schulte W、Tobies S(2009)VCC:验证并发C的实用系统。In:高阶逻辑中的定理证明,TPHOLs'09,第23–42页
[14] Evans D,Larochelle D(2002)使用可扩展的轻量级静态分析提高安全性。IEEE软件19(1):42–51·数字对象标识代码:10.1109/52.976940
[15] Filliátre J-C,MarchéC(2007)演绎程序验证的Why/Krakatoa/Caduceus平台。In:计算机辅助验证,CAV’07,第173-177页
[16] Flanagan C,Saxe JB(2001)《避免指数爆炸:生成紧凑验证条件》。摘自:2001年美国计算机学会编程语言原理年度研讨会。ACM,纽约,第193-205页·Zbl 1323.68372号
[17] Flanagan C、Leino KRM、Lillibridge M、Nelson G、Saxe JB、Stata R(2002)《Java扩展静态检查》。参加:ACM编程语言设计与实现会议,PLDI’02。ACM,纽约,第234-245页
[18] Godefroid P、Nori AV、Rajamani SK、Tetali S(2010)《合成可能必须的节目分析:释放交替的力量》。摘自:美国计算机学会(ACM)关于编程语言原则的年度研讨会,POPL'10。ACM,纽约,第43–56页·Zbl 1312.68057号
[19] Gulavani BS,Henzinger TA,Kannan Y,Nori AV,Rajamani SK(2006)Synergy:一种新的属性检查算法。摘自:2006年FSE软件工程基础研讨会。ACM,纽约,第117-127页
[20] Hayes IJ、Fidge CJ、Lermer K(2001)《死控制流路径的语义表征》。IEE Proc,软件148(6):175–186·doi:10.1049/ip-sen:20010834
[21] Henzinger TA、Jhala R、Majumdar R、Sutre G(2003),使用BLAST进行软件验证。在:模型检查软件,第十届国际SPIN研讨会。LNCS,第2648卷。柏林施普林格,第235-239页·Zbl 1023.68532号
[22] Hillebrand MA,Leinenbach DC(2009)《电子笔记Theor Comput Sci》中读写器锁实现的正式验证254:123-141·doi:10.1016/j.entcs.2009.09.063
[23] Hoenicke J、Leino KRM、Podelski A、Schäf M、Wies T(2009)《命运注定》;我们可以证明这一点。参见:形式方法国际研讨会,FM'09,第338–353页
[24] Hovemeyer D,Pugh W(2007)发现更多空指针错误,但不太多。参加:软件工具和工程程序分析研讨会,PASTE'07。ACM,纽约,第9-14页
[25] Hovemeyer D,Spacco J,Pugh W(2006)评估和调整静态分析以发现空指针错误。软件工程注释31(1):13–19·数字对象标识代码:10.1145/108768.1108798
[26] Immerman N,Rabinovich A,Reps T,Sagiv M,Yorsh G(2004)传递闭包逻辑的可判定性和不可判定性之间的边界。收录:计算机科学逻辑,CSL’04,第160–174页·邮编1095.03008
[27] Janota M,Grigore R,Moskal M(2007)注释代码的可达性分析。In:基于组件的系统规范和验证,SAVCBS’07。ACM,纽约,第23-30页
[28] Janssen J,Corporaal H(1997)用受控节点分裂使图可约。ACM Trans程序语言系统19(6):1031–1052·doi:10.1145/267959.269971
[29] Kuncak V(2007)模块化数据结构验证。麻省理工学院EECS系博士论文
[30] Leino KRM(2005)有效最弱的先决条件。Inf过程快报93(6):281–288·Zbl 1173.68563号 ·doi:10.1016/j.ipl.2004.10.015
[31] 莱诺·科姆,这是布吉2。手稿KRML 1782008年6月。可在http://research.microsoft.com/\(\sim\)leino/papers.html
[32] Lengauer T,Tarjan RE(1979)在流程图中查找支配者的快速算法。ACM传输程序语言系统1(1):121–141·Zbl 0449.68024号 ·电话:10.1145/357062.357071
[33] Luckham DC,Suzuki N(1979)Pascal中数组、记录和指针操作的验证。ACM传输程序语言系统1(2):226–244·Zbl 0452.68014号 ·数字对象标识代码:10.1145/357073.357078
[34] Manna Z,Pnueli A(1995)《反应系统的临时验证:安全性》。柏林施普林格·Zbl 0844.68079号
[35] Nelson G(1989)Dijkstra微积分的推广。ACM Trans程序语言系统11(4):517–561·数字对象标识代码:10.1145/69558.69559
[36] Prosser RT(1959)布尔矩阵在流程图分析中的应用。地址:IRE-AIEE-ACM’59,Eastern。ACM,纽约,第133-138页
[37] Samer M,Veith H(2007)《关于空洞真理的概念》。摘自:第14届国际逻辑编程、人工智能和推理会议论文集,LPAR'07。柏林施普林格,第2-14页·Zbl 1137.68438号
[38] Shelekhov VI,Kuksenko SV(1999)关于语义运行时错误的实用静态检查器。In:亚太软件工程会议,APSEC,p434
[39] Technologies P(2004)PolySpace for C.文档
[40] Yorsh G,Ball T,Sagiv M(2006)测试,抽象,定理证明:更好地结合!参加:2006年国际软件测试与分析研讨会。ACM,纽约,第145-156页
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。