跳到主要内容
文章
开放式访问

基于三值逻辑的参数化形状分析

出版:2002年5月1日出版历史
跳过抽象节

摘要

形状分析涉及为对动态分配的存储执行破坏性更新的程序确定“形状不变量”的问题。本文提出了一个用于形状分析的参数化框架,该框架可以以不同的方式进行实例化,以创建不同的形状分析算法,从而提供不同程度的效率和精度。这项工作的一个关键创新是,在执行过程中可能出现的存储使用三值逻辑结构(保守地)表示。通过改变三值逻辑中使用的谓词,以不同的方式实例化框架。框架的给定实例化可以应用到的程序类别不受先验限制(例如,在形状分析的某些工作中,仅限于操作列表、树、DAGS等的程序);框架的每个实例化都可以应用于任何程序,但由于使用了一组谓词,可能会产生不精确的结果(尽管是保守的结果)。

工具书类

  1. 艾肯,A.1996。立场声明。为ACM计算机研究战略方向研讨会(1996年6月14日至15日,马萨诸塞州剑桥)编程语言工作组准备。]]谷歌学者谷歌学者
  2. Assmann,U.和Weinhardt,M.,1993年。并行命令式程序的过程间堆分析。《大规模并行计算机编程模型》,W.K.Giloi、S.Jähnichen和B.D.Shriver编辑,IEEE出版社,华盛顿特区,74-82页。]]谷歌学者谷歌学者
  3. Bell,J.和Machover,M.1977年。数理逻辑课程。荷兰北部,阿姆斯特丹。]]谷歌学者谷歌学者
  4. Benedikt,M.、Reps,T.和Sagiv,M.,1999年。用于描述链接数据结构的可判定逻辑。1999年欧洲编程研讨会论文集,2--19。]]谷歌学者谷歌学者
  5. Cardelli,L.和Gordon,A.1998年。移动环境。《软件科学与计算结构基础学报》(FoSSaCS),M.Nivat,Ed.,计算机科学讲义,第1378卷,Springer-Verlag,纽约,140-155。]]谷歌学者谷歌学者
  6. Chase,D.、Wegman,M.和Zadeck,F.,1990年。指针和结构分析。在SIGPLAN编程语言设计与实现会议上,ACM出版社,纽约,296--310。]]谷歌学者谷歌学者
  7. Clarke,E.和Jha,S.,1995年。模型检查中的对称性和归纳法。《今日计算机科学:最新趋势和发展》,J.V.Leeuwen编辑,《计算机科学讲义》,第1000卷,Springer-Verlag,纽约,455-470。]]谷歌学者谷歌学者
  8. Clarke,E.、Grumberg,O.、Jha,S.、Lu,Y.和Veith,H.2000。反例引导的抽象细化。在计算机辅助验证程序中,154--169.]]谷歌学者谷歌学者
  9. Constable,R.、Johnson,S.和Eichenlaub,C.,1982年。PL/CV2编程逻辑简介。计算机科学讲义,第135卷。纽约施普林格-弗拉格。]]谷歌学者谷歌学者
  10. 库索特P.和库索特R.,1977年。抽象解释:通过构造不动点近似值对程序进行静态分析的统一格模型。在美国计算机学会编程语言原理研讨会上,纽约,238-252。]]谷歌学者谷歌学者
  11. 库索特P.和库索特R.,1979年。程序分析框架的系统设计。在程序设计语言原理研讨会上,美国计算机学会,纽约,269-282。]]谷歌学者谷歌学者
  12. Das,S.、Dill,D.和Park,S.1999年。具有谓词抽象的经验。《计算机辅助验证程序》,第160--171页。]]谷歌学者谷歌学者
  13. Deutsch,L.1973年。交互式程序验证器。加利福尼亚大学伯克利分校博士论文]]谷歌学者谷歌学者
  14. Dijkstra,E.1976年。编程学科。新泽西州恩格尔伍德克利夫斯市普伦蒂斯·霍尔谷歌学者谷歌学者
  15. Elgaard,J.、Möller,A.和Schwartzbach,M.,2000年。在树上运行的C程序的编译时调试。2000年欧洲程序设计研讨会论文集,119-134。]]谷歌学者谷歌学者
  16. Emerson,E.和Sistla,A.1993年。对称性和模型检查。《计算机辅助验证程序》,C.Courcoubetis,Ed.,463--478。]]谷歌学者谷歌学者
  17. Ginsberg,M.1988年。多值逻辑:人工智能中推理的统一方法。公司。智力。4, 265--316.]]谷歌学者谷歌学者
  18. Graf,S.和Saidi,H.1997年。用PVS构造抽象状态图。《计算机辅助验证程序》,72--83。]]谷歌学者谷歌学者
  19. 格里斯,D.1981。编程科学。纽约施普林格-弗拉格。]]谷歌学者谷歌学者
  20. 亨德伦,L.1990。用递归数据结构并行程序。纽约州伊萨卡康奈尔大学博士论文谷歌学者谷歌学者
  21. Hendren,L.和Nicolau,A.1990年。用递归数据结构并行程序。IEEE传输。Par.Dist.系统。1,1(1月),35-47。]]谷歌学者谷歌学者
  22. Hendren,L.、Hummel,J.和Nicolau,A.1992年。递归指针数据结构的抽象:改进命令式程序的分析和转换。在SIGPLAN编程语言设计与实现会议上,ACM,纽约,249--260。]]谷歌学者谷歌学者
  23. Hoare,C.1975年。递归数据结构。国际期刊计算。信息科学。4,2105-132.]]谷歌学者谷歌学者
  24. Horwitz,S.、Pfeiffer,P.和Reps,T.1989年。指针变量的依赖性分析。在SIGPLAN编程语言设计与实现会议上,ACM,纽约,28-40。]]谷歌学者谷歌学者
  25. Jensen,J.、Jörgensen,M.、Klarlund,N.和Schwartzbach,M.,1997年。使用一元二阶逻辑自动验证指针程序。在SIGPLAN编程语言设计与实现会议上,226--236谷歌学者谷歌学者
  26. Jones,N.和Muchnick,S.,1981年。类Lisp结构的流动分析和优化。《程序流分析:理论与应用》,S.Muchnick和N.Jones主编,新泽西州恩格尔伍德克利夫斯Prentice-Hall,第4章,102-131。]]谷歌学者谷歌学者
  27. Jones,N.和Muchnick,S.,1982年。使用递归数据结构进行过程间数据流分析和程序的灵活方法。在美国计算机学会编程语言原理研讨会上,纽约,66-74。]]谷歌学者谷歌学者
  28. King,J.1969年。程序验证器。宾夕法尼亚州匹兹堡卡内基梅隆大学博士论文谷歌学者谷歌学者
  29. Kleene,S.1987年。《元数学导论》,第二版,荷兰北部,阿姆斯特丹。]]谷歌学者谷歌学者
  30. Kunen,K.1998年。个人沟通。]]谷歌学者谷歌学者
  31. Larus,J.和Hilfinger,P.,1988年。检测结构访问之间的冲突。在SIGPLAN编程语言设计与实现会议上,ACM,纽约,21-34。]]谷歌学者谷歌学者
  32. 列夫·阿米,T.2000。TVLA:基于Kleene的静态分析框架。以色列Tel-Aviv大学硕士论文。]]谷歌学者谷歌学者
  33. Lev-Ami,T.和Sagiv,M.,2000年。TVLA:执行静态分析的系统。在静态分析研讨会上,280--301。]]谷歌学者谷歌学者
  34. Lev-Ami,T.,Reps,T.、Sagiv,M.和Wilhelm,R.,2000年。将静态分析用于验证:案例研究。ISSTA 2000:软件测试与分析国际研讨会论文集,26-38谷歌学者谷歌学者
  35. Lifschitz,V.1998年。个人沟通。]]谷歌学者谷歌学者
  36. 莫里斯,J.1982。赋值和链接数据结构。在《编程方法论的理论基础》一书中,M.Broy和G.Schmidt,Eds.,D.Reidel,Boston,35-41。]]谷歌学者谷歌学者
  37. 尼尔森,F.、尼尔森,H.和萨吉夫,M.2000。移动环境的Kleene分析。《2000年ESOP会议录》,G.Smolka,Ed.,《计算机科学讲义》,第1782卷,纽约斯普林格,305-319。]]谷歌学者谷歌学者
  38. Plevyak,J.、Chien,A.和Karamcheti,V.,1993年。高效并行执行的动态结构分析。《并行计算的语言和编译器》,U.Banerjee、D.Gelernter、A.Nicolau和D.Padua编辑,《计算机科学讲义》,第768卷,Springer-Verlag,Portland,Ore,37-57。]]谷歌学者谷歌学者
  39. Rinetskey,N.和Sagiv,M.,2001年。递归程序的过程间形状分析。《CC 2001会议录》,R.Wilhelm,Ed.,《计算机科学讲义》,第2027卷,纽约斯普林格,133-149。]]谷歌学者谷歌学者
  40. Sagiv,M.、Reps,T.和Wilhelm,R.1998年。用破坏性更新解决语言中的形状分析问题。事务处理。程序。语言系统。20,1(1月),1--50.]]谷歌学者谷歌学者
  41. Sagiv,M.、Reps,T.和Wilhelm,R.,1999年。通过三值逻辑进行参数化形状分析。在程序设计语言原理研讨会上,美国计算机学会,纽约,105-118。]]谷歌学者谷歌学者
  42. 斯特兰斯基,J.1992。动态(类Lisp)结构的抽象解释格。Inf.Comp.公司。101、1(11月)、70-102。]]谷歌学者谷歌学者
  43. Wang,E.Y.-B.1994年。命令式语言中递归类型的分析。加州大学伯克利分校博士论文]]谷歌学者谷歌学者
  44. Yahav,E.2001年。使用三值逻辑验证并发Java程序的安全属性。《程序设计语言原理研讨会论文集》,美国计算机学会,纽约,27-40。]]谷歌学者谷歌学者
  45. Yahav,E.、Reps,T.和Sagiv,M.,2001年。LTL模型检查具有无限数量动态创建的线程和对象的系统。技术代表TR-1424,Comp。科学。威斯康星州麦迪逊市威斯康星大学系,3月。]]谷歌学者谷歌学者

索引术语

  1. 基于三值逻辑的参数化形状分析

                          建议

                          评论

                          登录选项

                          请检查您是否可以通过登录凭据或您的机构访问此文章以获得完全访问权限。

                          登录

                          完全访问权限

                          PDF格式

                          以PDF文件查看或下载。

                          PDF格式

                          电子阅读器

                          使用eReader联机查看。

                          电子阅读器