跳到主要内容
文章

跨过程定义动态指针链接数据结构的使用链

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

摘要

本文提出了一种计算动态指针链接数据结构的过程间定义使用链的流敏感算法。目标是将构建动态指针链接数据结构(即定义)链接的语句与可能通过链接(即使用)遍历结构的语句关联起来。具体来说,对于定义指针链接数据结构链接的每个语句S,该算法会找到遍历由S定义的链接的语句集。该算法通过执行反向迭代数据流分析来计算每个语句中向上公开的使用集,从而解决了定义使用链接问题。该算法的结果可以用于识别程序中的并行性,即使是循环的指针链接数据结构。

工具书类

  1. {1} H.Agrawal、R.A.DeMillo和E.H.Spafford,使用动态切片和回溯进行调试,软件-实践和经验 23(6) (1993年6月),589-616。谷歌学者谷歌学者
  2. {2} A.V.Aho、R.Sethi和J.D.Ullman,编译器:原理、技术和工具艾迪森·韦斯利,1986年。谷歌学者谷歌学者数字图书馆数字图书馆
  3. {3} B.Alpern、M.N.Wegman和F.K.Zadeck,《检测程序中变量的相等性》,收录于:第十五届美国计算机学会程序设计语言原理年会会议记录1988年1月,加利福尼亚州圣地亚哥,第1-11页。谷歌学者谷歌学者数字图书馆数字图书馆
  4. {4} R.Altucher和W.Landi,动态分配必须别名分析的扩展形式,载于:POPL’95会议记录:第22届ACM SIGPLAN-SIGCT程序设计语言原理研讨会1995年1月,加利福尼亚州旧金山市,第74-84页。谷歌学者谷歌学者交叉引用交叉引用
  5. {5} G.Amdahl,单处理器方法实现大规模计算能力的有效性,在:1967年AFIPS会议记录,(第30卷),1967年。谷歌学者谷歌学者
  6. {6} L.O.Andersen,C编程语言的程序分析和专业化。哥本哈根大学DIKU博士论文,1994年。谷歌学者谷歌学者
  7. {7} J.Barnes和P.Hut,分层O(NlogN)力计算算法,自然(1976年12月),第446-449页。谷歌学者谷歌学者
  8. {8} D.W.Binkley和K.B.Gallagher,项目选择,in:计算机的进展(第43卷),M.Zelkowitz主编,学术出版社,加州圣地亚哥,1996年。谷歌学者谷歌学者交叉引用交叉引用
  9. {9} B.R.Brooks、R.E.Bruccoleri、B.D.Olafson、D.J.States、S.Swaminathan和M.Karplus,CHARMM:高分子能量、最小化和动力学计算程序,计算化学杂志 4(2) (1983), 187- 217.谷歌学者谷歌学者
  10. {10} M.Burke、P.Carini、J.-D.Choi和M.Hind,存在指针时的流敏感程序间别名分析,见:第八届并行计算语言和编译器国际研讨会论文集1995年8月,俄亥俄州哥伦布。谷歌学者谷歌学者数字图书馆数字图书馆
  11. {11} D.Callahan,程序摘要图和流敏感的程序间数据流分析,SIGPLAN通知 23(7) (1988年7月),47-56,ACM SIGPLAN 88编程语言设计和实现会议记录.谷歌学者谷歌学者数字图书馆数字图书馆
  12. {12} D.R.Chase、M.Wegman和F.K.Zadeck,《指针和结构分析》,SIGPLAN通知 25(6) (1990年6月),296-310,ACM SIGPLAN 90年编程语言设计和实现会议记录.谷歌学者谷歌学者数字图书馆数字图书馆
  13. {13} J.-D.Choi、M.Burke和P.Carini,指针诱导别名和副作用的高效流敏感过程间计算,in:第二十届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录,南卡罗来纳州查尔斯顿,1993年1月,第232-245页。谷歌学者谷歌学者数字图书馆数字图书馆
  14. {14} K.D.Cooper、M.W.Hall、R.T.Hood、K.Kennedy、K.S.McKinley、J.M.Mellor-Crummey、L.Torczon和S.K.Warren,ParaScope并行编程环境,IEEE会议记录 81(2) (1993年2月),244-263,《并行机语言和编译器特别章节》。谷歌学者谷歌学者
  15. {15} R.Cytron、J.Ferrante、B.K.Rosen、M.N.Wegman和F.K.Zadeck,高效计算静态单一赋值形式和控制依赖图,程序设计语言与系统学报 13(4) (1991年10月),451-490。谷歌学者谷歌学者
  16. {16} R.Das、J.Saltz和R.von Hanxleden,切片分析和分布式阵列的间接访问,收录于:第六届并行计算语言和编译器研讨会论文集《施普林格·弗拉格出版社》,1993年8月,第152-168页。另请参阅马里兰大学技术报告CS-TR-3076和UMIACS-TR-93-42。谷歌学者谷歌学者数字图书馆数字图书馆
  17. {17} A.Deutsch,使用右正则等价关系的有限表示的混叠及其抽象的无存储模型,在:1992年IEEE国际计算机语言会议记录,加利福尼亚州旧金山,1992年4月,第2-13页。谷歌学者谷歌学者交叉引用交叉引用
  18. {18} A.Deutsch,针对指针的跨过程May-Alias分析:Beyondk个-限制,SIGPLAN通知 29(6) (1994年6月),230-241,ACM SIGPLAN’94编程语言设计和实现会议记录.谷歌学者谷歌学者交叉引用交叉引用
  19. {19} E.Duesterwald、R.Gupta和M.L.Soffa,用于集成级数据流测试的需求驱动分析仪,in:IEEE国际软件工程会议德国柏林,1996年3月,第575-586页。谷歌学者谷歌学者交叉引用交叉引用
  20. {20} S.Eilenberg,自动机、语言和机器,学术出版社,1974年。谷歌学者谷歌学者
  21. {21}M.Emami、R.Ghiya和L.J.Hendren,上下文敏感的过程间点——在存在函数指针的情况下进行分析,SIGPLAN通知 29(6) (1994年6月),242-256,ACM SIGPLAN’94编程语言设计和实现会议记录.谷歌学者谷歌学者
  22. {22}M.W.Hall和K.Kennedy,高效调用图分析,ACM编程语言和系统信函,1(3) (1992年9月),第227-242页。谷歌学者谷歌学者
  23. {23}M.J.Harrold和M.L.Soffa,过程间定义使用链的有效计算,程序设计语言与系统学报 16(2) (1994年3月),175-204。谷歌学者谷歌学者数字图书馆数字图书馆
  24. {24}M.S.赫奇特,计算机程序流分析Elsevier North-Holland出版社,1977年。谷歌学者谷歌学者
  25. {25}L.J.亨德伦,用递归数据结构并行程序,博士论文,康奈尔大学,1990年。谷歌学者谷歌学者
  26. {26}S.Horwitz、J.Prins和T.Reps,集成程序的非干扰版本,程序设计语言与系统学报 11(3) (1989年7月),第345-387页。谷歌学者谷歌学者数字图书馆数字图书馆
  27. {27}黄禹锡,动态递归数据结构的跨过程定义-使用链1998年,马里兰大学博士论文。谷歌学者谷歌学者
  28. {28}Y.-S.Hwang,用循环图并行程序中的图构造操作,in:2001年并行和分布式计算及系统国际会议记录(PDCS 2001)2001年8月,美国阿纳海姆。谷歌学者谷歌学者
  29. {29}Y.-S.Hwang和J.Saltz,用循环图识别程序中的并行性,收录于:2000年并行处理国际会议记录2000年8月,加拿大多伦多,第201-208页。谷歌学者谷歌学者交叉引用交叉引用
  30. {30}W.Landi和B.G.Ryder,一种用于过程间指针混叠的安全近似算法,SIGPLAN通知 27(7) (1992年7月),235-248,ACM SIGPLAN’92编程语言设计和实现会议记录.谷歌学者谷歌学者
  31. {31}S.Lumetta、L.Murphy、X.Li、D.Culler和I.Khalil,《分散最优电价:并行程序的开发》,载于:93年超级计算会议记录俄勒冈州波特兰,1993年11月,第240-249页。谷歌学者谷歌学者数字图书馆数字图书馆
  32. {32}N.K.Madsen,使用非正交网格求解maxwell旋度方程的保散度离散曲面积分方法。技术报告92.04,RIACS,1992年2月。谷歌学者谷歌学者
  33. {33}S.S.Muchnick,高级编译器设计与实现摩根·考夫曼,1997年。谷歌学者谷歌学者
  34. {34}S.S.Mukherjee、S.D.Sharma、M.D.Hill、J.R.Larus、A.Rogers和J.Saltz,《高效支持分布式内存机器上的非常规应用》,收录于:第五届ACM SIGPLAN并行编程原理与实践研讨会论文集,ACM出版社,ACM SIGPLAN通知 30(8) (1995年7月),68-79。谷歌学者谷歌学者
  35. {35}H.D.Pande、W.A.Landi和B.G.Ryder,《带单级指针的c系统的跨过程消除关联》,IEEE软件工程汇刊 20(5) (1994年5月),第385-402页。谷歌学者谷歌学者数字图书馆数字图书馆
  36. {36}T.Reps、S.Horwitz和M.Sagiv,通过图形可达性进行精确的过程间数据流分析,in:1995年POPL会议记录:第22届ACM SIGPLAN-SIGACT编程语言原理研讨会1995年1月,加利福尼亚州旧金山,第49-61页。谷歌学者谷歌学者交叉引用交叉引用
  37. {37}A.Rogers,M.C.Carlile,J.H.Reppy和L.J.Hendren,支持分布式存储机上的动态数据结构,程序设计语言与系统学报 17(2) (1995年3月),第233-263页。谷歌学者谷歌学者数字图书馆数字图书馆
  38. {38}B.K.Rosen、M.N.Wegman和F.K.Zadeck,全球数值和冗余计算,见:第十五届ACM编程语言原理年会会议记录1988年1月,加利福尼亚州圣地亚哥,第12-27页。谷歌学者谷歌学者数字图书馆数字图书馆
  39. {39}E.Ruf,重新考虑上下文敏感别名分析,SIGPLAN通知 30(6) (1995年6月),13-22,ACM SIGPLAN’95编程语言设计和实现会议记录.谷歌学者谷歌学者数字图书馆数字图书馆
  40. {40}M.Sagiv,T.Reps和R.Wilhelm,用破坏性更新解决语言中的形状分析问题,收录于:96年POPL会议记录:第23届ACM SIGPLAN-SIGACT编程语言原理研讨会佛罗里达州圣彼得堡海滩,1996年1月,第16-31页。谷歌学者谷歌学者交叉引用交叉引用
  41. {41}M.Shapiro和S.Horwitz,快速准确的流动敏感点分析,in:1997年POPL会议记录:第24届ACM SIGPLAN-SIGACT编程语言原理研讨会1997年1月,法国巴黎,第1-14页。谷歌学者谷歌学者交叉引用交叉引用
  42. {42}B.Steensgaard,在几乎线性时间内指出分析,在:96年POPL会议记录:第23届ACM SIGPLAN-SIGACT编程语言原理研讨会,佛罗里达州圣彼得堡海滩,1996年1月,第32-41页。谷歌学者谷歌学者
  43. {43}R.von Hanxleden和K.Kennedy,Give-N-Take-平衡代码放置框架,SIGPLAN通知 29(6) (1994年6月),107-120,ACM SIGPLAN’94编程语言设计和实现会议记录.谷歌学者谷歌学者
  44. {44}M.N.Wegman和F.K.Zadeck,带条件分支的恒定传播,程序设计语言与系统学报 13(2) (1991年4月),181-210。谷歌学者谷歌学者数字图书馆数字图书馆
  45. {45}M.Weiser,程序员在调试时使用片,ACM通信 25(7) (1982年7月),第446-452页。谷歌学者谷歌学者数字图书馆数字图书馆
  46. {46}M.Weiser,从并行行为投影重建序列行为,信息处理函 17(5) (1983年10月),129-135。谷歌学者谷歌学者交叉引用交叉引用
  47. {47}M.Weiser,程序切片,IEEE软件工程汇刊 10(1984), 352-357.谷歌学者谷歌学者数字图书馆数字图书馆
  48. {48}R.P.Wilson和M.S.Lam,C程序的高效上下文敏感指针分析,SIGPLAN通知 30(6) (1995年6月),1-12,ACM SIGPLAN’95编程语言设计和实现会议记录.谷歌学者谷歌学者
  49. {49}M.Wolfe,《超越归纳变量》,SIGPLAN通知 27(7) (1992年7月),162-174,ACM SIGPLAN’92程序设计与实现会议论文集.谷歌学者谷歌学者数字图书馆数字图书馆
  50. {50}M.沃尔夫,用于并行计算的高性能编译器艾迪森·韦斯利,1995年。谷歌学者谷歌学者

索引术语

  1. 跨过程定义动态指针链接数据结构的使用链
      索引项已通过自动分类分配给内容。

      建议

      评论

      登录选项

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

      登录

      完全访问权限

      • 文章指标

        • 下载次数(过去12个月)0
        • 下载次数(最近6周)0

        其他指标