×

用于程序分析的分区内存模型。 (英语) Zbl 1484.68054

Bouajjani,Ahmed(ed.)等人,验证、模型检查和抽象解释。2017年第18届国际会议,2017年1月15日至17日,法国巴黎。会议记录。查姆:斯普林格。选择。笔记计算。科学。10145539-558(2017年)。
摘要:可伸缩性是静态分析中的一个关键挑战。对于像C这样的命令式语言,用于建模内存的方法在可伸缩性方面可以发挥重要作用。在本文中,我们探索了一类称为分区记忆模型的记忆模型,这些模型基于一个点的分析结果来划分内存。我们回顾了Steensgaard的原始和字段敏感点分析以及数据结构分析(DSA),并引入了一种新的基于单元的分析点,它可以更精确地处理堆数据结构和类型不安全操作,如指针算术和指针转换。利用Cascade程序验证框架,在软件验证竞赛的基准测试上给出了实验结果。我们表明,使用我们基于单元的点进行分析的分区内存模型优于使用其他分析的模型。
整个系列请参见[Zbl 1355.68009].

理学硕士:

68N30型 软件工程的数学方面(规范、验证、度量、需求等)
68分05秒 数据结构
PDF格式 BibTeX公司 XML 引用
全文: 内政部

参考文献:

[1] 安德森,L.O.:C语言编程语言的程序分析和专业化。1994年5月,哥本哈根大学博士论文
[2] Balatsouras,G.,Smaragdakis,Y.:分析C和C++的结构敏感点。In:静态分析研讨会(SAS)(2016)
[3] Barrett,C.,Stump,A.,Tinelli,C.:SMT-LIB标准-版本2.0,In:第八届可满足模理论国际研讨会论文集(2010)
[4] Beyer,D.:与benchexec和Vincers的可靠和可复制的竞争结果(在SV-COMP 2016上报告)。In:系统构建与分析的工具与算法(TACAS)(2016)
[5] Böhme,S.,Moskal,M.:堆,数据结构:自动化验证程序的挑战。年:自动扣除会议(CADE)(2011年)·Zbl 1341.68182号
[6] Burstall,R.M.:证明改变数据结构的程序正确性的一些技术。机器。因特尔。7,23–50(1972年)·中银0259.68009
[7] Clarke,E.,Kroneing,D.,Lerda,F.:一种用于检查ANSI-C程序的工具。In:系统构建与分析的工具与算法(TACAS)(2004)·Zbl 1126.68470
[8] Cohen,E.,Moskal,M.,Tobies,S.,Schulte,W.:一个精确而有效的C电子记忆模型。理论笔记。计算机。科学。(ENTCS)254,85–103(2009年)
[9] Condit,J.,Hackett,B.,Lahiri,S.K.,Qadeer,S.:针对低级代码的统一类型检查和属性检查。In:编程语言原理(POPL)(2009)·Zbl 1315.68086
[10] Conway,C.L.,Dams,D.,Namjoshi,K.S.,Barrett,C.:指针分析,条件稳健性,并证明没有错误。In:静态分析研讨会(SAS)(2008)·Zbl 1149.68348
[11] Cuoq,P.,Kirchner,F.,Kosmatov,N.,Prevosto,V.,Signoles,J.,Yakobowski,B.:Frama-C软件分析视角。In:软件工程与形式化方法(SEFM)(2012)
[12] Foster,J.S.,Fähndrich,M.,Aiken,A.:用术语和集合约束进行分析的流不敏感点。技术报告CSD-97-964,加利福尼亚大学伯克利分校(1997年)
[13] Gurfinkel,A.,Kahsai,T.,Komuravelli,A.,Navas,J.A.:SeaHorn验证框架。In:计算机辅助验证(CAV)(2015)·Zbl 06845667
[14] Hind,M.:指针分析:我们还没有解决这个问题吗?In:软件工具与工程的程序分析(PASTE)(2001)
[15] Lahiri,S.K.,Qadeer,S.:回到未来:重新审视使用SMT求解器的精确程序验证。In:编程语言原理(POPL)(2008)·Zbl 1295.68087
[16] Lahiri,S.K.,Qadeer,S.,Rakamarić,Z.:使用SMT解算器静态精确地检测系统代码中的并发错误。In:计算机辅助验证(CAV)(2009)·Zbl 05571919
[17] Lal,A.,Qadeer,S.:使用Corral为静态驱动验证程序供电。In:软件工程基础(FSE)(2014)
[18] Lattner,C.,Lenharth,A.,Adve,V.:利用堆克隆使上下文敏感点分析在现实世界中切实可行。In:程序设计与实现(PLDI)(2007)
[19] Miné,A.:使用联合类型和指针算法的嵌入式C程序的场敏感值分析。In:嵌入式系统的语言、编译器和工具支持(LCTES)(2006)
[20] Morse,J.,Ramalho,M.,Cordeiro,L.,Nicole,D.,Fischer,B.:ESBMC 1.22(竞争贡献)。In:系统构建与分析的工具与算法(TACAS)(2014)
[21] Necula,G.C.,McPeak,S.,Weimer,W.:CCured:遗留代码的类型安全更新。编程语言原理(POPL)(2002)·Zbl 1323.68382
[22] Pearce,D.J.,Kelly,P.H.J.,Hankin,C.:C.In:软件工具和工程的程序分析(PASTE)(2004)
[23] Pearce,D.J.,Kelly,P.H.J.,Hankin,C.:C.ACM反式的高效场敏指针分析。程序。语言系统。第30卷第1页,第4页(2007年)·Zbl 05459410
[24] Rakamarić,Z.,Emmi,M.:SMACK:将源语言细节与验证器实现分离。In:计算机辅助验证(CAV)(2015)
[25] Rakamarić,Z.,Hu,A.J.:低层代码的可伸缩内存模型。In:验证、模型检查和抽象解释(VMCAI)(2009)·Zbl 05505795
[26] Steensgaard,B.:指向有结构和联合的程序的类型推理分析。In:编译器结构(CC)(1996)
[27] Steensgaard,B.:指向几乎线性时间的分析。编程语言原理(POPL)(1996)
[28] 用于程序分析的分区内存模型。纽约大学博士论文,2016年5月
[29] Wang,W.,Barrett,C.,Wies,T.:Cascade 2.0.In:验证、模型检查和抽象解释(VMCAI)(2014)
[30] Yong,S.H.,Horwitz,S.,Reps,T.:结构和转换程序的指针分析。In:程序设计与实现(PLDI)(1999)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项被试探性地匹配到zbMATH标识符,并且可能包含数据转换错误。它试图尽可能准确地反映原始论文中列出的参考文献,而不要求匹配的完整性或精确性。