×

有效无切口程序的跨过程形状分析。 (英语) Zbl 1383.68025号

沃伦科夫,安德烈(编辑)等人,《编程逻辑》。纪念哈拉尔德·甘辛格的文章。柏林:施普林格出版社(ISBN 978-3-642-37650-4/pbk)。计算机科学课堂讲稿7797,414-445(2013)。
摘要:我们提出了一个局部过程间形状分析框架,该框架将过程摘要作为过程-局部堆(过程可能到达的堆的部分)的变换器进行计算。过程-局部形状分析中的一个主要挑战是处理切入点,即将被调用过程的输入堆与堆的其余部分分开的对象,从调用的角度来看,这些对象是不可访问和不可变的。
在本文中,我们将注意力限制在有效的无切入点程序上,即当考虑活动引用字段时,将被调用方堆与堆的其余部分分开的唯一对象是调用的实际参数所指向的对象。这个限制(以及它的某些变体,我们也描述了)简化了关于过程调用的本地推理,因为分析不需要跟踪切入点。此外,我们的分析(保守地)验证了程序是有效的无切入点的
关于整个系列,请参见[兹比尔1259.03008].

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
03B70号 计算机科学中的逻辑
68问题55 计算理论中的语义学
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Arnold,G.,Manevich,R.,Sagiv,M.,Shaham,R.:通过交叉抽象结合形状分析。In:Emerson,E.A.,Namjoshi,K.S.(编辑)VMCAI 2006。LNCS,第3855卷,第33-48页。斯普林格,海德堡(2006)·Zbl 1176.68111号 ·doi:10.1007/11609773_3
[2] Calcagno,C.,Distefano,D.,O’Hearn,P.,Yang,H.:通过双外展进行成分形状分析。收录:Symp。项目Princ。Lang.(POPL),第289-300页。ACM(2009)·Zbl 1315.68085号 ·doi:10.1145/1594834.1480917
[3] Chase,D.R.,Wegman,M.,Zadeck,F.:指针和结构分析。In:程序上的Conf。语言设计与实施。,PLDI(1990)·doi:10.1145/93542.93585
[4] Chong,S.,Rugina,R.:递归数据结构中访问区域的静态分析。收录:Cousot,R.(编辑)SAS 2003。LNCS,第2694卷,第463-482页。斯普林格,海德堡(2003)·Zbl 1067.68556号 ·doi:10.1007/3-540-44898-5_26
[5] 库索,P.,库索,R.:抽象解释:通过构建不动点近似来进行程序静态分析的统一格模型。收录:Symp。项目Princ。朗格(POPL),第238-252页。纽约ACM出版社(1977年)
[6] 库索,P.,库索,R.:递归过程动态特性的静态测定。收录于:Neuhold,E.J.(编辑)《编程概念的形式描述》(IFIP WG 2.2,加拿大圣安德鲁斯),第237–277页。北荷兰(1977年8月)·Zbl 0393.68080号
[7] Deutsch,A.:指针的跨过程别名分析:超越k限制。In:程序上的Conf。语言设计与实施。(PLDI)(1994年)
[8] Gotsman,A.,Berdine,J.,Cook,B.:用分离堆抽象法进行硬膜外形状分析。In:Yi,K.(编辑)SAS 2006。LNCS,第4134卷,第240-260页。斯普林格,海德堡(2006)·Zbl 1225.68072号 ·doi:10.1007/11823230_16
[9] Hackett,B.,Rugina,R.:基于区域的形状分析和跟踪位置。收录:Symp。项目Princ。语言(POPL)(2005)·Zbl 1369.68140号 ·doi:10.1145/1040305.1040331
[10] Ishtiaq,S.S.,O'Hearn,P.W.:BI作为可变数据结构的断言语言。收录:Symp。项目Princ。语言(POPL)(2001)·Zbl 1323.68077号 ·数字对象标识代码:10.1145/360204.375719
[11] Jeannet,B.、Loginov,A.、Reps,T.、Sagiv,M.:硬膜外形态分析的关系方法。收录人:Giacobazzi,R.(编辑)SAS 2004。LNCS,第3148卷,第246–264页。斯普林格,海德堡(2004)·Zbl 1104.68416号 ·doi:10.1007/978-3-540-27864-1_19
[12] Knoop,J.,Steffen,B.:过程间重合定理。In:公司内部确认。构造。(CC)(1992)·doi:10.1007/3-540-55984-1_13
[13] Lev-Ami,T.,Sagiv,M.:。TVLA:基于Kleene的静态分析框架。In:国际静态分析研讨会(SAS)(2000),网址:http://www.math.tau.ac.il/电视广告·Zbl 0966.68580号
[14] Marron,M.、Hermenegildo,M.,Kapur,D.、Stefanovic,D.:使用基于图形的堆模型进行高效的上下文敏感形状分析。In:公司内部确认。构造。(CC),第245-259页(2008年)·doi:10.1007/978-3-540-78791-4_17
[15] Noble,J.,Biddle,R.,Tempero,E.,Potanin,A.,Clarke,D.:走向封装模型。参加:第一届面向对象编程中的别名、限制和所有权国际研讨会(IWACO)(2003年)
[16] 普洛金,G.D.:操作语义学的结构方法。技术报告DAMI FN-19,奥胡斯大学(1981年)
[17] Reps,T.、Horwitz,S.、Sagiv,M.:通过图形可达性进行精确的过程间数据流分析。收录:Symp。项目Princ。语言(POPL)(1995)·Zbl 0874.68133号 ·数字对象标识代码:10.1145/199448.199462
[18] Reynolds,J.:分离逻辑:共享可变数据结构的逻辑。收录:Symp。计算机科学中的逻辑(LICS)(2002)·doi:10.1109/LICS.2002.1029817
[19] Rinetzky,N.:程序间和模块化局部堆形分析。特拉维夫大学博士论文(2008年6月)
[20] Rinetzky,N.,Bauer,J.,Reps,T.,Sagiv,M.,Wilhelm,R.:过程局部堆及其抽象的语义。收录:Symp。项目Princ。语言(POPL)(2005)·Zbl 1369.68154号 ·数字对象标识代码:10.1145/1040305.1040330
[21] Rinetzky,N.,Poetzsch-Heffter,A.,Ramalingam,G.,Sagiv,M.,Yahav,E.:动态封装程序的模块形状分析。摘自:De Nicola,R.(编辑)ESOP 2007。LNCS,第4421卷,第220–236页。斯普林格,海德堡(2007)·doi:10.1007/978-3-540-71316-6_16
[22] Rinetzky,N.,Sagiv,M.:递归程序的跨过程形状分析。In:公司内部确认。构造。(CC)(2001)·Zbl 0977.68688号 ·doi:10.1007/3-540-45306-7_10
[23] Rinetzky,N.、Sagiv,M.、Yahav,E.:无切入点程序的跨过程形状分析。收录:Hankin,C.,Siveroni,I.(编辑)SAS 2005。LNCS,第3672卷,第284-302页。斯普林格,海德堡(2005)·Zbl 1141.68375号 ·doi:10.1007/11547662_20
[24] Rubinstein,S.:关于监控程序执行的切入点的实用性。以色列特拉维夫特拉维夫大学硕士论文(2006年)
[25] Sagiv,M.,Reps,T.,Wilhelm,R.:通过三值逻辑进行参数形状分析。事务处理。项目。语言和系统。(托普拉斯)24(3),217–298(2002)·doi:10.1145/514188.514190
[26] Shaham,R.、Yahav,E.、Kolodner,E.K.、Sagiv,M.:使用编译时内存管理应用程序建立本地时间堆安全属性。收录:Cousot,R.(编辑)SAS 2003。LNCS,第2694卷,第483–503页。施普林格,海德堡(2003)·Zbl 1067.68550号 ·doi:10.1007/3-540-44898-5_27
[27] Sharir,M.,Pnueli,A.:程序间数据流分析的两种方法。收录于:Muchnick,S.S.,Jones,N.D.(编辑)《程序流分析:理论与应用》,第7章,第189-234页。普伦蒂斯·霍尔(Prentice-Hall),新泽西州恩格伍德悬崖(Englewood Cliffs)(1981年)
[28] Yang,H.,Lee,O.,Berdine,J.,Calcagno,C.,Cook,B.,Distefano,D.,O'Hearn,P.W.:系统代码的可缩放形状分析。收录:Gupta,A.,Malik,S.(编辑)CAV 2008。LNCS,第5123卷,第385-398页。斯普林格,海德堡(2008)·兹比尔1155.68359 ·doi:10.1007/978-3-540-70545-1_36
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。