期刊文献+

点间确定别名及其在Java程序数据依赖分析中的应用 被引量:1

Interstatement Must Alias and Its Application in Dependence Analysis of Java Programs
下载PDF
导出
摘要 堆内存的大量使用使得Java程序上数据依赖关系的精确提取仍存在许多困难.对于堆空间上的依赖提取,通常的做法是先对堆上空间进行命名,再据此分析依赖关系.然而该方法不能在多个定义间进行强更新,故分析精度不够理想.针对此问题,该文首先提出了一种点间确定别名的概念,然后用它生成强更新和相对更新来精化数据依赖分析.实验表明,与不进行强更新和相对更新的数据依赖分析方法相比,新算法能够在相对较少的额外时间消耗内,有效地提高堆空间上依赖分析的精度. Data dependence is widely used in software engineering activities. Due to the massive use of heap objects, it is still difficult to extract them from Java programs precisely. Several methods have been proposed to address this problem. One simple but scalable method is performing dependence analysis based on heap object naming. However, such a method, although effective, is not precise enough. This paper firstly introduces a notion of interstatement must alias, and then refines dependence analysis by generating strong updates and relative updates with these aliases. Empirical results show that the proposed algorithm can effectively improve the precision of dependence analysis for heap locations with very limited analysis time increment.
出处 《计算机学报》 EI CSCD 北大核心 2008年第3期419-430,共12页 Chinese Journal of Computers
基金 国家杰出青年科学基金(60425206) 国家自然科学基金重点项目(60633010) 江苏省高技术研究项目基金(BG2005032) 江苏省“六大人才高峰”计划资助
关键词 数据依赖 指针分析 别名分析 确定别名 强更新 data dependence pointer analysis alias analysis must alias strong update
  • 相关文献

参考文献18

  • 1[1]Orso A,Sinha S,Harrold M J.Classifying data dependences in the presence of pointers for program comprehension,testing,and debugging.ACM Transactions on Software Engineering and Methodology,2004,13(2):199-239
  • 2[2]Muchnick S S.Advanced Compiler Design and Implementation.USA,Morgan Kaufman Publishers,1997
  • 3[3]Hind M.Pointer analysis:Haven't we solved this problem yet? //Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering.Snowbird,Utah,2001:54-61
  • 4[6]Chase D R,Wegman M,Zadek F K.Analysis of pointers and struetures//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation.White Plains,New York,USA,1990:296-310
  • 5[7]Binkley D W,Lyle J R.Application of the pointer state subgraph to static program slicing.Journal of Systems and Software,1998,40(1):17-27
  • 6[8]Whaley J,Lain M S.Cloning-based context-sensitive pointer alias analysis using binary decision diagrams//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation.Washington DC,USA,2004:131-144
  • 7[9]Altucher R Z,Landi W.An extended form of must alias analysis for dynamic allocation//Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of programming languages.San Francisco,California,USA,1995:74-84
  • 8[10]Larus J R,Hilfinger P N.Detecting conflicts between structure accesses//Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation.Atlanta,Georgia,USA,1988:21-34
  • 9[11]Burke M,Carini P,Choi J-D,Hind M.Interprocedural pointer alias analysis.IBM T.J.Watson Research Center,Research Report # 21055,1997
  • 10[12]Nielson F,Nielson H R,Hankin C.Principles of Program Analysis.2nd Edition.Sccaucus,NJ,USA:Springer-Ver-lag,2005

同被引文献21

  • 1Woo J, Gaudiot J L, Wendelbom A L. Alias analysis in Java with refer- ence-set representation for high-Performance computing [ J ]. Interna- tional Journal of Parallel Programming,200g ,32 ( 2 ) :39 - 76.
  • 2Meyer B. Towards a theory and calculus of aliasing[ J]. Journal of Ob- ject Technology,2010,9(3 -4) :1 -37.
  • 3Ibrahim A S, Grundy J, Hamlyn-harris J, et al. Supporting Operating system kernel data disambiguation using points-to analysis [ C ]//Pro- ceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering( ASE 2012 ) , September 3 - 7,2012, Essen, Ger- many. New York : ACM Press,2012:234 - 237.
  • 4Emami M, Ghiya R, Hendren L J. Context-sensitive interprocedural points-to analysis in the presence of function pointers [ C ]//Proceed- ings of the ACM SIGPLAN' 94 Conference on PLDI ,June 20- 24, Or- lando, USA. New York : ACM Press, 1994:242 - 256.
  • 5Landi W, Ryder B G. A safe approximation algorithm for interprocedur- al pointer aliasing [ C ]//ACM SIGPLAN Notices-Best of PLDI 1979- 1999. New York : ACM Press,2004:473 - 489.
  • 6Choi J D, Burke M, Carini P. Efficient flow-sensitive interproeedural computation of pointer-induced aliases and side effects [ C ]//Proceed- ings of 20th Annual ACM SIGACT SIGPLAN Symposium on POPL, Charleston, USA. New York : ACM Press, 1993 i23.2 - 245.
  • 7Hind M, Burke M, Carini P R, et al. Interprocedural pointer alias analy- sis [ J ]. ACM Transactions on Programming Language and System, 1999,21 (4) :848 -894.
  • 8Sagiv M, Reps T, Wilhelm R. Solving shape-analysis problem in langua- ges with destructive updating [ J ~. ACM Transactions on Programming Languages and Systems,1998,20( 1 ) :1 -50.
  • 9Whaley J, Lam M S. Cloning-based context-sensitive pointer alias anal- ysis using binary decision diagrams [ C ]//Proceedings of the ACM SIG- PLAN 2004 Conference on PLDI, Washington DC, USA. New York: ACM Press ,2004 : 131 - 144.
  • 10Whaley J, Avots D, Carbin M, et al. Using Datalog with binary decision diagrams for program analysis[ C ]//Proceedings of Programming Lan- guage and System:Third Asian Symposium, LNCS 3780. Berlin Heidel- berg: Springer-Verlag ,2005:97 - 118.

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部