×

五边形:用于有效验证数组访问的弱关系抽象域。 (英语) Zbl 1197.68035号

摘要:我们介绍了五角体(Pntg),这是一个弱关系数值抽象域,用于验证字节码和中间语言中的数组访问。这个抽象域捕获了形式为\(x\ in[a,b]\ wedget x<y\)的属性。它比众所周知的Interval域更精确,但不如Octagon域精确。
Pntg的目标是成为一个用于自适应静态分析的轻量级数值域,其中Pntg用于快速证明大多数数组访问的安全性,将更精确(但也更昂贵)的域的使用限制为代码的一小部分。
我们在Clousot(的通用抽象解释器)中实现了Pntg抽象域。NET程序集。使用它,我们能够验证核心运行库中83%的数组访问mscorlib.dll文件三分钟多一点。

MSC公司:

68甲15 编程语言理论
68N25号 操作系统理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 阿拉米吉恩,X。;戈达尔,W。;Hymans,C.:关键嵌入式C程序中字符串操作的静态分析(2006年8月)·Zbl 1225.68064号
[2] R.Alur,D.L.Dill,用于实时系统建模的自动机,载于:ICALP’90,1990年7月·Zbl 0765.68150号
[3] 巴格纳拉,R。;希尔,P.M。;Mazzi,E。;Zaffanella,E.:为弱关系数字抽象扩展运算符,(2005年9月)·Zbl 1141.68445号
[4] F.Banterle,R.Giacobazzi,图形硬件上八角形抽象域的快速实现,收录于:SAS’07,2007年8月
[5] M.Barnett、M.Fähndrich、F.Logozzo,《互联网代码契约》。http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
[6] 布兰切特,B。;库索特,P。;库索特,R。;Feret,J。;Mauborgne,L。;米内,A。;Monniaux,D。;Rival,X.:大型安全关键软件的静态分析器(2003年6月)·Zbl 1026.68514号
[7] 博迪克,R。;古普塔,R。;Sarkar,V.:ABCD:按需消除阵列边界检查,(2000)
[8] 克拉里索,R。;Cortadella,J.:八面体抽象域,科学。计算。程序。64,第1号(2007年)·Zbl 1171.68540号 ·doi:10.1016/j.scico.2006.03.009
[9] 克拉克,E.M。;格伦伯格,O。;Peled,D.A.:模型检验(1999)·Zbl 0847.68063号
[10] Courbot,A。;巴甫洛娃,M。;格里莫,G。;Vandewalle,J.-J.:使用形式化方法的低足迹Java-to-native编译方案,Lncs(2006年4月)
[11] Cousot,P.:通用抽象解释器的计算设计,北约ASI系列F(1999)·Zbl 0945.68032号
[12] Cousot,P.:通过抽象解释进行验证,(2003年)·Zbl 1274.68180号
[13] 库索特,P。;Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型(1977年1月)·Zbl 1149.68389号
[14] 库索特,P。;Halbwachs,N.:程序变量之间线性约束的自动发现(1978年1月)
[15] 多尔,北。;Rodeh,M。;Sagiv,M.:CSSV:走向一个现实的工具,用于静态检测c中的所有缓冲区溢出,(2003)
[16] 欧洲货币管理局。标准ECMA-335,公共语言基础设施(CLI)。http://www.ecma-international.org/publications/standards/ecma-335.htm,Ecma International,2006年
[17] S.Gaubert,E.Goubault,A.Taly,S.Zennou,通过关系域上的策略迭代进行静态分析,收录于:ESOP’07,2007年4月·Zbl 1187.68151号
[18] Halbwachs,N。;Merchat,D。;Gonnord,L.:减少多面体计算中空间维数的一些方法,系统设计中的形式化方法29,第1期,79-95(2006)·Zbl 1105.68107号 ·doi:10.1007/s10703-006-0013-2
[19] ECMA国际标准ECMA-355,公共语言基础设施,2006年6月
[20] Karr,M.:关于程序变量之间的仿射关系,《信息学报》第6卷第2期,第133-151页(1976年)·Zbl 0358.68025号 ·doi:10.1007/BF00268497
[21] Kildall,G.A.:全球程序优化的统一方法(1973年10月)·Zbl 0309.68020号
[22] D.Larochelle,D.Evans,《静态检测可能的缓冲区溢出漏洞》,载于:2001年USENIX安全研讨会,2001年8月
[23] V.Laviron,F.Logozzo,《次多面体:推断线性不等式的(更)可扩展方法》,收录于:VMCAI'09年1月·Zbl 1206.68092号
[24] Logozzo,F.:Cibai:一个用于Java类的模块化分析和验证的基于抽象解释的静态分析器,(2007年1月)·Zbl 1132.68329号
[25] 洛戈佐,F。;Fähndrich,M.A.:关于字节码分析与源代码分析的相对完整性,Lncs(2008年3月)
[26] Miné,A.:基于差分边界矩阵的新数值抽象域(2001年5月)·兹伯利0984.68034
[27] Miné,A.:八角形抽象域(2001年10月)·Zbl 1105.68069号
[28] A.Miné,几个基于图形的关系数值抽象域,收录于:SAS’02,2002年9月
[29] A.Miné,弱相关数值抽象域,博士论文,埃科尔理工学院,2004年
[30] 纳瓦斯,J。;梅拉,Ed。;洛佩斯·加西亚,P。;Hermenegildo,M.V.:逻辑程序的用户定义资源边界分析(2007年9月)
[31] C.Popeea,D.N.Xu,W.-N.Chin,一个实用且精确的数组边界检查消除推理和特化程序,收录于:PEPM’08,2008
[32] P.Z.Revesz,软件验证的约束数据库方法,收录于:VMCAI’07,2007年1月·Zbl 1132.68339号
[33] S.Sankaranarayanan,F.Ivancic,A.Gupta,使用符号范围的程序分析,在:SAS'072007年8月
[34] S.Sankaranarayanan,H.B.Sipma,Z.Manna,使用数学规划对线性系统进行可缩放分析,收录于:VMCAI'05,2005年1月,第25-41页·Zbl 1111.68514号 ·数字对象标识代码:10.1007/b105073
[35] 西蒙,A。;金,A。;Howe,J.M.:作为抽象领域的每个线性不等式的两个变量,(2002)·Zbl 1278.68072号
[36] Venet,A.:递归数据结构和数组的非统一别名分析(2002年9月)·Zbl 1015.68513号
[37] Venet,A。;Brat,G.P.:大型嵌入式c程序的精确高效静态数组绑定检查(2004年7月)
[38] Xi,H。;Pfenning,F.:通过依赖类型消除数组绑定检查(1998)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。