引用本文:李倩,汤恩义,戴雪峰,王林章,赵建华.Java 指针指向分析优化.软件学报,2011,22(6):1140-1154
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 9705次   下载 11677 本文二维码信息
码上扫一扫!
分享到: 微信 更多
Java 指针指向分析优化
李倩1,2, 汤恩义1,2, 戴雪峰1,2, 王林章1,2, 赵建华1,2
1.计算机软件新技术国家重点实验室(南京大学),江苏 南京 210093;2.南京大学 计算机科学与技术系,江苏 南京 210093
摘要:
指针指向分析的主要目的是静态地获取程序在运行时刻的指针指向信息.基于Andersen 算法,设计了一种有效的、上下文敏感的指针指向分析算法,支持继承、字段对象等语言特性.不同对象的字段在算法中被分别处理,同时,算法对复合类型的对象实现了基于字段的处理.为了提高算法的效率和可扩展性,引入了两种优化方式:一种是结点间的拓扑排序以降低分析过程中的迭代次数;另一种是在线的环路侦测与消除,它与拓扑排序过程同步实现,有效地提高了处理效率.实验数据表明,该算法可以用来为较大规模的Java 代码生成精确的指向关系集合.
关键词:  指针指向分析  上下文敏感  字段敏感  环路检测
DOI:10.3724/SP.J.1001.2011.04025
分类号:
基金项目:国家自然科学基金(90818022, 91018006, 61021062); 国家重点基础研究发展计划(973)(2009CB320702); 核高基项目(2009z01036-001-001-3)
Optimization of Points-to Analysis for Java
LI Qian1,2, TANG En-Yi1,2, DAI Xue-Feng1,2, WANG Lin-Zhang1,2, ZHAO Jian-Hua1,2
1.State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing 210093, China;2.Department of Computer Science and Technology, Nanjing University, Nanjing 210093, China
Abstract:
Points-to analysis mainly aims to attain the runtime points-to sets of program variables. This paper describes the design and implementation of an efficient Andersen-style, context-sensitive points-to analysis for Java code. The implementation supports language features such as inheritance, polymorphism, and field objects. The study tracks the fields of individual objects separately and makes the algorithm in field-sensitive style for aggregate objects. To improve the efficiency and scalability of the algorithm, this study employs two kinds of optimizations, nodes topology construction with concomitance on-line cycle detection and cycle elimination. Experiment results show that this algorithm can be used to compute precise points-to sets for large-scale Java programs.
Key words:  points-to analysis  context-sensitive  field-sensitive  cycle elimination

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: