×

推断数组的完整初始化。 (英语) Zbl 1292.68104号

摘要:我们定义了一个基于自动机的跟踪语义抽象解释,用于识别绝对初始化的循环全部的数组元素到满足给定属性的值,这是对类Java语言进行静态分析的有用信息。这将产生一个完全自动且高效的分析,而不使用手动代码注释。我们给出了正确性的形式化证明,其中考虑了方法调用的副作用等方面。我们展示了如何将这些循环的标识提升为数组类型字段的元素内容的全局不变量,这些元素在访问这些元素的代码中随处可见。这使得我们的工作对于实际程序的静态分析更加重要和有用。我们在Julia分析器中实现的分析既高效又精确。

理学硕士:

68问题55 计算理论中的语义学
65年第68季度 形式语言和自动机
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[2] Aho,A.V。;Sethi,R。;Ullman,J.D.,《编译器:原理、技术和工具》(1986),Addison-Wesley
[3] 德克·拜尔;托马斯·亨辛格(Thomas A.Henzinger)。;鲁帕克马久姆达尔;Rybalchenko,Andrey,路径不变量,(ACM SIGPLAN 2007年编程语言设计与实现会议论文集。ACM SIGPLAN 2007年程序语言设计与实施会议论文集,PLDI 2007(2007),ACM),300-309
[4] 布兰切特,B。;库索特,P。;库索特,R。;Feret,J。;Mauborgne,L。;米内,L。;Monniaux,D。;Rival,X.,《安全关键型实时嵌入式软件专用静态程序分析器的设计与实现》,特邀章节,(计算的本质:复杂性、分析、转换。Neil D.Jones专用论文。计算的实质:复杂性、分析、转换。Jones,《计算机科学讲义》,第2566卷(2002),Springer),第85-108页·Zbl 1026.68514号
[6] 库索特,P。;库索特,R.,《程序分析框架的系统设计》,(第六届程序设计语言原则研讨会论文集,第六届编程语言原则研讨会文献集,POPL 1979(1979),ACM),269-282
[7] 库索特,P。;库索特,R.,通过抽象解释进行程序转换框架的系统设计,(第29届程序设计语言原则研讨会论文集,第29届编程语言原则研讨会文献集,POPL 2002(2002),ACM),178-190·Zbl 1323.68356号
[8] 帕特里克·库索特(Patrick Cousot);拉迪亚·库索特;Logozzo,Francesco,用于全自动和可伸缩数组内容分析的参数分割函子,(第38届编程语言原理研讨会论文集。第38届程序设计语言原理研讨会文献集,2011年(2011年),ACM:ACM纽约,纽约,美国),105-118·Zbl 1284.68210号
[9] 弗拉纳根,C。;Qadeer,S.,软件验证的谓词抽象,(第29届编程语言原则研讨会论文集,第29届程序设计语言原则研讨会文献集,POPL 2002(2002),ACM),191-202·兹比尔1323.68371
[10] 戈潘,丹尼斯;代表,托马斯;Mooly Sagiv,《数组运算的数值分析框架》,(第32届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。第32届美国计算机学会SIGPLAN-SIGACT程序语言原理研讨会文献集,POPL 2005(2005),美国计算机学会:美国纽约州纽约市ACM),338-350·Zbl 1369.68138号
[11] 格拉芙,S。;Saídi,H.,用PVS构造抽象状态图,(第九届计算机辅助验证国际会议论文集。第九届国际计算机辅助验证会议论文集,CAV 1997。第九届计算机辅助验证国际会议记录。第九届计算机辅助验证国际会议记录,CAV 1997,计算机科学讲稿,第1254卷(1997),Springer),72-83
[12] 彼得·哈贝梅尔(Peter Habermehl);Iosif,Radu;Vojnar,Tomás,整数数组还有什么可判定的?,(《第11届软件科学和计算结构基础国际会议论文集》,第11届国际软件科学与计算结构基础会议论文集,FOSSACS 2008。第十一届软件科学和计算结构基础国际会议论文集。第十一届软件科学和计算结构基础国际会议论文集,FOSSACS 2008,计算机科学讲义,第4962卷(2008),施普林格:匈牙利布达佩斯施普林格),474-489·Zbl 1139.03007号
[13] 尼古拉斯·哈尔巴赫斯(Nicolas Halbwachs);Péron,Mathias,发现简单程序中数组的属性,(2008年ACM SIGPLAN编程语言设计与实现会议论文集。2008年ACM-SIGPLAN程序设计与实现大会论文集,PLDI 2008(2008),ACM:ACM纽约,纽约,美国),339-348
[14] 库德(Krystof Hoder);劳拉·科瓦奇(Laura Kovács);Voronkov,Andree,《利用饱和定理证明器进行不变量生成的案例研究》,(第十届墨西哥人工智能国际会议论文集,第十届墨西哥人工智能国际会议文献集,MICAI 2011)。第十届墨西哥国际人工智能大会论文集。第十届墨西哥人工智能国际会议论文集,MICAI 2011,计算机科学讲稿,第7094卷(2011),Springer),1-15
[15] 劳拉·科瓦奇(Laura Kovács);Voronkov,Andrei,使用定理证明器在数组上寻找程序的循环不变量,(第12届软件工程基本方法国际会议论文集。第12届软件工程基本方法国际会议论文集,FASE 2009。第十二届软件工程基本方法国际会议论文集。第十二届国际软件工程基本做法会议论文集,FASE 2009,计算机科学讲义,第5503卷(2009),Springer),470-485
[18] 尼科利奇,乌里卡;Spoto,Fausto,《基于自动机的数组初始化分析》,(第六届语言与自动机理论与应用国际会议论文集,第7183卷)。第六届语言与自动机理论与应用国际会议论文集,第7183卷,LATA 2012(2012),Springer),420-432·Zbl 1350.68180号
[19] 尼科利奇,乌里卡;Spoto,Fausto,《java字节码的定义表达式混淆分析》,(第九届国际计算理论研讨会论文集。第九届计算理论研讨会文献集,2012年ICTAC。第九届国际计算理论研讨会论文集。第九届国际计算理论研讨会论文集,ICTAC 2012,计算机科学讲义,第7521卷(2012),Springer),74-89·Zbl 1362.68031号
[20] 尼科利奇,乌里卡;Spoto,Fausto,《程序变量的可达性分析》,(《第六届国际自动推理联合会议论文集》,第六届自动推理国际联合会议论文集中,2012年国际JCAR。第六届国际自动推理联合会议记录。《第六届自动推理国际联席会议论文集》,国际人工智能联合会,2012年,《人工智能讲义》,第7364卷(2012年),施普林格出版社,423-438·Zbl 1358.68075号
[21] Palsberg,J。;Schwartzbach,M.I.,面向对象的类型推断,(面向对象编程、系统、语言和应用程序程序集。面向对象编程程序集,系统、语言与应用程序,OOPSLA 1991。面向对象编程、系统、语言与应用程序学报。面向对象编程、系统、语言和应用程序学报,OOPSLA 1991,ACM SIGPLAN通告,第26卷(11)(1991),ACM),146-161
[22] Payet,埃及。;Spoto,F.,安卓程序的静态分析,信息与软件技术,54,11,1192-1201(2012)
[23] 塞奇、斯特凡诺;Spoto,Fausto,面向对象程序的成对共享分析,(第12届国际静态分析研讨会论文集。第12届国家静态分析研讨会会议论文集,SAS 2005。第十二届国际静态分析研讨会论文集。第十二届国际静态分析研讨会论文集,SAS 2005,计算机科学讲义,第3672卷(2005),Springer),320-335·Zbl 1141.68378号
[24] Spoto,F.,《精确零点分析》,软件和系统建模,10,2,219-252(2011)
[25] 福斯托·斯波托(Fousto Spoto),《朱莉娅的零度分析》(The nullness analyzer of Julia),第16届国际逻辑编程、人工智能和推理会议论文集——LPAR(达喀尔)。《第十六届国际逻辑编程、人工智能和推理会议论文集——LPAR(达喀尔)》,《计算机科学讲义》,第6355卷(2010年),斯普林格出版社,405-424·Zbl 1203.68004号
[26] 福斯托·斯波托;Jensen,Thomas P.,《类分析作为跟踪语义的抽象解释》,《ACM编程语言和系统事务》,25,5,578-630(2003)
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。