java中的指针图片分析,面向数据流的Java程序指针分析技术研究

程序分析是相关软件在测试和编译以及调试时所进行的活动基础,随着经济 会的不断发展,计算机行业在发生着飞速的变化。对相关的指针程序进行了分析,值得借鉴。1数据流的指针技术分析指针分析在数据流的实际应用过程中,就已经有相关的研究人员对指向信息进行计算同时也进行了依赖性的分析问题,对具有指针性的程序中数据流将问题分类。在文献中只是对指针的应用进行了分析,其实并没有因为该种原因回到指针的分析本身。尽管数据结构的分析在对堆结构空间方面比较准确,但是在实际的代价上会比较高,是很难适应大型的应用程序的。在整个过程中,相关的技术人员对单级的指针程序进行了定义,以及对指针分析在比较敏感定义上所被引用关系的影响。而对于另一些算法来说,主要是为了充分保证分析的性能,牺牲了太多的精度。对于那些设计上的高性能算法,至今仍是一个值得关注的问题。2数据流指针分析技术的方法和概念2.1技术控制流图技术上的控制流图是一种比较通用的程序表示方式,而且也在不同程度上反映了相关程序语句间的控制转移关系。定义一:对于方法M控制流程图是一种有向图,可以采用四元组的方式来进行表示。其中,节点数用N来进行表示,而M中的语句都对应着图中的不同节点。定义二:在相应的控制流图中,如果S1到S2都属于E,就说明S1和S2是直接性的前驱,而S2就是S1的直接后续。在语句S中所有的直接前驱的组成被称作是S的直接性前驱集,对于S的所有直接性的后续集合就被成为S的直接性后续集。图1为控制流图的实际示意图,图1中WNTUY就是入口的节点,1是2的直接性前驱,EXIT是数据出口的节点,3、5是7的直接性前驱等。2.2Java数据流的相关问题语句间的数据流主要就是在语句间在数据依赖上的关系,也就是通常说的在语句间对定义引用的关系。但是,一般是在上下文中不是很敏感的语句上产生数据流。相应的数据流是可以通过相应的定义进行分析获得的。二元组中被称作程序上的可达性定义,只是将S定点在变量上,同时只是存在了一个S到t的简要路径,并且在该路径上不存在对X进行定义。通过可达定义进行分析,可以在相应的程序口上建立一个IN的集合,在每个出口的程序上建立OUT的集合,并在方法的M上有E。每个入口的逻辑:S’Pred(S)IN(S)=OUT(S’)。每个出口的逻辑:OUT(S)={|IN(S)x埸Kill(S)}{|xMod(S)}按照相应的程序流程从前往后,集合OUT与IN实际记录了各个变量在比较近的位置上的实际变化。对于一个节点的图1控制流图的示意图intmax(intx,inty){1inttmp=0;2if(x>f)3tmp=x;4else5tmp=y;67Returntmp;}EntryExit12573输入IN,将是所有的直接性驱动OUT的并集。对于在出口上的可达定义来说,将是新定义和可达定义的集合。而对那些循环和分支,要通过不动的点迭代就可以在最终得到点的定义集合,要从可达的定义信息实际出发。3Java的指向分析中对于程序的表达方式3.1相应的对象和变量Java的指向分析中,主要的目标是变量在实际运行时指向的集合对象。在字段的敏感指向分析中,多个对象的字段都被视为独立的指针,对指向分析的实际结果主要包含了在对象字段中的指向性集合。从总体上来说,Java的语言指向主要是分析了如下集合之间的关系:一个变量的集合R,同时也包括了程序中所出现的变量,可以用变量的名称来表示。对不同的丁定义域之间的变量,可以进行不同方式的表示。在敏感的分析中,一个变量在不同的文中也是要进行独立的表示的。O是一个集合额定对象,最为常见的表示方法是要将程

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91536 人正在系统学习中 相关资源:糖烟茶酒行业管理软件 烟酒进销存店铺销售收银管理系统

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月11日
下一篇 2021年2月11日

相关推荐