跳到主要内容
文章
免费访问

指针变量的依赖性分析

出版:1989年6月21日出版历史
跳过抽象节

摘要

我们关心的是如何在带有指针变量的编程语言中确定程序结构之间的数据依赖性。我们对计算操纵堆分配存储的语言(如Lisp和Pascal)的数据依赖性特别感兴趣。我们定义了一系列算法,用于计算用这种语言编写的程序的流、输出和反依赖性的安全近似值。我们的算法考虑了结构字段的破坏性更新,因此仅限于所有结构都是树或非循环图的情况;他们适用于构建循环结构的程序。

我们的技术扩展了Jones和Muchnick描述的一种分析方法,该方法确定了在执行过程中每个程序点可能出现的内存实际布局的近似值。我们扩展了它们的抽象解释中使用的域,以便(抽象)内存位置由设置其内容的程序点标记。然后,根据在执行期间必须遍历的访问路径上找到的组件标签,从这些内存布局中确定数据依赖性,以评估程序的语句和谓词。

对于结构化编程构造,可以扩展该技术以区分循环依赖和循环依赖依赖,并确定循环依赖最小距离的下限。

工具书类

  1. 1Aho,A.V.、Sethi,R.和Ullman,J.D.,《编译器:原理、技术和工具》,马萨诸塞州艾迪森·韦斯利,雷丁(1986)。谷歌学者谷歌学者数字图书馆数字图书馆
  2. 2Allen,J.R.,“下标变量的依赖性分析及其在程序转换中的应用”,数学系博士论文。德克萨斯州休斯顿莱斯大学科学系(1983年4月)。谷歌学者谷歌学者数字图书馆数字图书馆
  3. Chase,D.R.,“垃圾收集和其他优化”,博士论文,德克萨斯州休斯顿莱斯大学计算机科学系(1987年8月)。谷歌学者谷歌学者数字图书馆数字图书馆
  4. 4Cosot,P.和Cousot,R.,“抽象解释:通过构建或近似不动点对程序进行静态分析的统一latrice模型”,第238-252页,第四届ACM编程语言原理研讨会会议记录,(加利福尼亚州洛杉矶,1977年1月17-19日),ACM,纽约州纽约市(1977年)。谷歌学者谷歌学者数字图书馆数字图书馆
  5. 5Donzeau-Gouge,V.,《程序流分析:理论与应用》,编辑S.S.Muchniek和N.D.lones,Prentice-Hall,Englewood Cliffs,NJ(1981)。谷歌学者谷歌学者
  6. 6Ferrante,J.、Ottenstein,K.和Warren,J.,“程序依赖图及其在优化中的应用”,《ACM编程语言和系统事务》9(3),第319-349页(1987年7月)。谷歌学者谷歌学者数字图书馆数字图书馆
  7. 7Guama,V.A.Jr.,“在并行重组编译器中分析指针和结构引用的技术”,CSRD技术代表721,伊利诺伊州乌尔巴纳-香槟伊利诺伊大学超级计算机应用研究与开发中心(1988年1月)。谷歌学者谷歌学者
  8. 8Horwitz,S.、Prins,J.和Reps,T.,“集成程序的非干预版本”,第133-145页,第十五届美国计算机学会编程语言原理研讨会会议记录,(加利福尼亚州圣地亚哥,1988年1月13日至15日),美国计算机学会,纽约州纽约市(1988年)。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 9Horwitz,S.、Reps,T.和Binktey,D.,“使用依赖图的过程间切片”,《ACM SIGPLAN 88编程语言设计与实现会议论文集》(佐治亚州亚特兰大,1988年6月22日至24日),ACM SIGPLAN Notices 23C/)(1988年7月)。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 10Horwitz,S.、Pfedfer,P.和Reps,T.,“poimer变量的相关性分析”,<编制中>,威斯康星大学计算机科学系,威斯康辛大学麦迪逊分校(1989年)。谷歌学者谷歌学者
  11. 11Hudak,P.,“引用计数的语义模型及其抽象”,第45-62页,《声明语言的抽象解释》,S.Abramsky和C.Hankin编辑,Ellis Horwood Limited,Chichester,West Sussex,England(1987)。谷歌学者谷歌学者
  12. 12Jones,N.D.和Muchnick,S.S.,“类Lisp结构的流分析和优化”,摘自《程序流分析:理论和应用》,S.S.Muchnich和N.D.Jones编辑,Prentice-Hall,Englewood Cliffs,NJ(I 981)。谷歌学者谷歌学者
  13. 13Kennedy,K.,“数据流分析技术的调查”,收录于《程序流分析:理论与应用》,S.S.Muchnick和N.D.Jones编辑,Prentice-Hall,Englewood Cliffs,NJ(1981)。谷歌学者谷歌学者
  14. 14Kuck,D.J.、Kuhn,R.H.、Leasure,B.、Padua,D.A.和Wolfe,M.,“依赖关系图和编译器优化”,第20%218页,《第八届美国计算机学会编程语言原理研讨会会议记录》(弗吉尼亚州威廉斯堡,1981年1月26-28日),美国计算机学会,纽约州纽约市(1981年)。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 15Lares,J.R.,“Curare:重组Lisp程序以实现并行执行”,UCB/CSD 87/344,电子工程与计算机部计算机科学部。科学。,加利福尼亚大学伯克利分校(1987年2月)。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 16Lares,I.R.和Hilfinger,P.N.,“检测stmctun之间的冲突:访问”,《ACM SIGPLAN 88编程语言设计和实现会议论文集》(佐治亚州亚特兰大,1988年6月22日至24日),ACM SIGPLAN通知23(7),第21-34页(1988年7月)。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 17Larus,J.R.和Hilfinger,P.N.,“为并行执行重组Lisp程序”,《ACM/SIGPLAN PPEALS 88会议录》(康涅狄格州纽黑文,1988年7月19日至21日),ACM$IGPLAN通知23(9),第100-1 I0页(1988年9月)。谷歌学者谷歌学者数字图书馆数字图书馆
  18. 18Lares,J.R.,“精炼和分类数据相关性”,未出版的扩展摘要,加州伯克利(1988年11月)。谷歌学者谷歌学者
  19. 19Lams,J.R.,《私人通信》。1988谷歌学者谷歌学者
  20. 20Neirynck,A.,“高级语言中别名和副作用的静态分析”,纽约州伊萨卡市科梅尔大学计算机科学系博士论文(1988年2月)。谷歌学者谷歌学者数字图书馆数字图书馆
  21. 21Ottenstein,K.J.和Ottensteen,L.M.,“软件开发环境中的程序依赖图”,《ACM SIGSOFT/SIGPLAN实用软件开发环境软件工程研讨会论文集》(宾夕法尼亚州匹兹堡,1984年4月23日至25日),ACM SIGPLAN通知19(5)第177-184页(1984年5月)。谷歌学者谷歌学者数字图书馆数字图书馆
  22. 22Padua,D.A.,“多处理器:一些理论和实际问题的讨论”,伊利诺伊大学计算机科学系博士论文和技术代表R-79-990(1979年11月)。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 23Reps,T.和Yang,W.,“程序切片的语义”,TR-777,威斯康星大学计算机科学系,威斯康星州麦迪逊(1988年6月)。谷歌学者谷歌学者
  24. 24Ruggieri,C.和Murtagh,T.P.,“动态分配对象的寿命分析”,第285-293页,第十五届ACM编程语言原理研讨会会议记录,(加州圣地亚哥,1988年1月13日至15日),ACM,纽约州纽约市(1988年)。谷歌学者谷歌学者数字图书馆数字图书馆
  25. 25Stransky,l.,“分析sananfique de structures de donn~es dynamicques avec application au cas paniculier de langages LISPiens”,奥赛中心巴黎南大学博士论文(1988年6月)。谷歌学者谷歌学者
  26. 26Weiser,M.,“程序切片”,IEEE软件工程学报SE-10(4)第352-357页(1984年7月)。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 指针变量的依赖性分析

            建议

            评论

            登录选项

            检查您是否可以通过登录凭据或您的机构访问本文。

            登录

            完全访问权限

            • 发布于

              封面图片ACM SIGPLAN注意事项
              ACM SIGPLAN通知 第24卷第7期
              SIGPLAN 89口译员和口译技术研讨会会议记录
              1989年7月
              355页
              国际标准编号:0362-1340
              EISSN公司:1558-1160
              内政部:10.1145/74818
              期刊目录
              • 封面图片ACM会议
                PLDI’89:ACM SIGPLAN 1989年编程语言设计和实现会议记录
                1989年6月
                355页
                国际标准图书编号:089791306X号
                内政部:10.1145/73141

              版权所有©1989 ACM

              如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

              出版商

              计算机协会

              美国纽约州纽约市

              出版历史

              • 出版:1989年6月21日

              检查更新

              限定符

              • 文章

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader联机查看。

            电子阅读器