×

通过程序转换分析数组操作程序。 (英语) Zbl 1457.68060号

Proietti,Maurizio(编辑)等,基于逻辑的程序合成和转换。2014年9月9日至11日在英国坎特伯雷举行的2014年LOPSTR第24届国际研讨会。修订了选定的论文。查姆:斯普林格。勒克特。注释计算。科学。8981, 3-20 (2015).
摘要:我们探索了一种转换方法来验证简单数组操作程序的问题。传统上,这种程序的验证需要复杂的分析机制来推理关于符号数组段的普遍量化的语句,例如“存储在段A[i]到A[j]中的每个数据项都等于存储在段B[i]到B[j]中的相应项”。我们定义了一个允许集值变量的简单抽象机器,并展示了如何将具有数组操作的程序转换为该机器的无数组代码。为了进行程序分析,翻译后的程序仍然忠实于数组操作的语义。基于我们在LLVM中的实现,我们评估了该方法提取有用不变量的能力以及代码大小方面的成本。
关于整个系列,请参见[Zbl 1320.68028号].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)

软件:

IKOS公司
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] Alberti,F。;布鲁托梅索,R。;吉拉尔迪,S。;Ranise,S。;北卡罗来纳州Sharygina。;比约纳,N。;Voronkov,A.,《数组插值的惰性抽象》,《编程逻辑、人工智能和推理》,46-61(2012),海德堡:斯普林格出版社·Zbl 1352.68141号 ·doi:10.1007/978-3-642-28717-67
[2] Blanchet,B.,Cousot,P.,Cousot,R.,Feret,J.,Mauborgne,L.,Miné,A.,Monniaux,D.,Rival,X.:安全关键型实时嵌入式软件专用静态程序分析器的设计与实现。收件人:Mogensen,T.Æ。,Schmidt,D.A.,Sudborough,I.(编辑)《计算的本质》。LNCS,第2566卷,第85-108页。斯普林格,海德堡(2002)·Zbl 1026.68514号
[3] 布拉特·G。;纳瓦斯,JA;施,N。;Venet,A。;Giannakopoulou,D。;Salaün,G.,《IKOS:基于抽象解释的静态分析框架》,《软件工程与形式化方法》,271-277(2014),海德堡:斯普林格·数字对象标识代码:10.1007/978-3-319-10431-7_20
[4] Cousot,P.,Cousot,R.:抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。收录于:POPL 1977,第238-252页。ACM出版社(1977)
[5] 库索,P.,库索,R.,Logozzo,F.:用于全自动和可扩展数组内容分析的参数分割函子。收录于:POPL 2011,第105-118页。ACM出版社(2011)·Zbl 1284.68210号
[6] De Angelis,E。;菲奥拉凡蒂,F。;Pettorossi,A。;Proietti,M。;吉隆坡麦克米兰;Rival,X.,《通过转换验证条件验证阵列程序、验证、模型检查和抽象解释》,182-202(2014),海德堡:施普林格·Zbl 1428.68182号 ·doi:10.1007/978-3-642-54013-4_11
[7] 迪利格,I。;迪利格,T。;艾肯,A。;Gordon,AD,Fluid updates:beyond strong vs.weak updates,Programming Languages and Systems,246-266(2010),海德堡:斯普林格·Zbl 1260.68092号 ·doi:10.1007/978-3642-11957-6_14
[8] Ernst,医学博士;JH珀金斯;郭,PJ;McCamant,S。;帕切科,C。;桑茨,理学硕士;Xiao,C.,动态检测可能不变量的Daikon系统,科学。计算。程序。,69, 1-3, 35-45 (2007) ·Zbl 1161.68390号 ·doi:10.1016/j.scico.2007.01.015
[9] Gopan,D.,Reps,T.,Sagiv,M.:数组操作的数值分析框架。收录于:POPL 2005,第338-350页。ACM出版社(2005)·Zbl 1369.68138号
[10] Gulwani,S.、McCloskey,B.、Tiwari,A.:将抽象解释器提升到量化逻辑域。收录于:POPL 2008,第235-246页。ACM出版社(2008)·Zbl 1295.68085号
[11] Halbwachs,N.,Péron,M.:发现简单程序中数组的属性。参见:PLDI 2008,第339-348页。ACM出版社(2008)
[12] 珍妮特,B。;米内,A。;Bouajjani,A。;Maler,O.,Apron:静态分析的数值抽象域库,计算机辅助验证,661-667(2009),海德堡:施普林格·doi:10.1007/978-3-642-02658-4_52
[13] Kovács,L。;沃伦科夫,A。;Chechik,M。;Wirsing,M.,《使用定理证明器寻找数组上程序的循环不变量》,《软件工程的基本方法》,470-485(2009),海德堡:斯普林格出版社·doi:10.1007/978-3642-00593-0_33
[14] 拉腊兹,D。;罗德里格斯·卡博尼尔,E。;A.鲁比奥。;Giacobazzi,R。;Berdine,J。;Mastroeni,I.,基于SMT的阵列不变量生成、验证、模型检查和抽象解释,169-188(2013),海德堡:施普林格·Zbl 1426.68056号 ·doi:10.1007/978-3-642-35873-9_12
[15] Nguyen,T.V.,Kapur,D.,Weimer,W.,Forrest,S.:使用动态分析发现多项式和数组不变量。摘自:第34届国际软件工程会议记录,第760-770页。IEEE(2012)
[16] Péron,M.:《贡献》(Contributions a l’analysis statique de programmes manipulant des tableaux)。格勒诺布尔大学博士论文(2010年)
[17] Regehr,J.:未初始化变量。网络博客,http://blog.regehr.org/archives/519,访问日期:2014年6月18日
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。