如何对动态调用图的Java程序修改
好酷屋教程网小编为您收集和整理了如何对动态调用图的Java程序修改的相关教程:在当前静态分析技术对于分析算法有着重要的影响,由于其方法比较复杂这就出现了精度不高,因此本文针对在静态分析中存在的实际问题进行具体的研究,能够从其问题中提出改进的方案,并且采用动态分析技术构造Java
在当前静态分析技术对于分析算法有着重要的影响,由于其方法比较复杂这就出现了精度不高,因此本文针对在静态分析中存在的实际问题进行具体的研究,能够从其问题中提出改进的方案,并且采用动态分析技术构造Java程序的动态调用图,文章中采用k-类方法后向切片计算修改影响的集合,之进行具体的试验,提高了精度,该技术的革新便于在大型Java程序中进行应用,改善了测试效果。 由于大部分软件是面向对象方法编写,逐渐的形成了回归测试技术,面向技术中,其对象之间是一种继承和组合的关系,并且各个对象之间是通过消息相互影响的,本文在研究影响分析算法中,是在程序静态分析技术的基础上进行的,针对其中存在的问题以及在静态分析中精度不高的现状具体的改善,研究出了动态分析技术构造程序的类成员防火墙,提高了分析精度,同时降低了计算的复杂程度,这样就促进了修改影响分析技术的应用效果。
1 基于动态信息的修改影响 为了提高计算的精度,改善计算的复杂程序,这就提出了动态信息的修改影响分析,首先在获得动态信息中,一般需要在程序中插桩,促进程序能够正常的将信息进行输出,这就需要在设计中将编译后的Java字节码程序插桩,然而本文在实施的过程中采用的是将每个方法插桩,来记录调用信息,在设计中其动态信息的修改影响分析的原理是:如图1所示,在进行插桩后的Java程序设计中,能够根据输出执行轨迹信息并且构造出动态调用图,然后进行修改影响分析,最终得出需要重新测试的模块,保障了高效的回归测试。 2 动态信息调用图的设计 由于软件测试在开销中应用的范围比较广,这就提出了软件回归测试,其中该软件是指针对修改之后的软件进行测试,然后需要达到修改后能够完成新的功能测试,并且在修改之后能否引入新的错误。但是在设计的过程中由于各个程序之间的元素关系比较复杂,这就需要在设计中提出详细的分析方法,能够使其在使用中对于整个程序进行重新测试,从此注重软件的后期开发以及软件的维护阶段,能够频繁并且在少量修改的状态下使用软件,在使用中每次修改时都要重新运行全部的测试,这就导致了软件开发和维护的效率比较低,这种形式就是修改影响分析。因此在修改影响分析中其主要的目的是提高测试的效率,降低测试的费用,简化测试的程序,本文提出了动态信息的修改设计,采用的是动态信息调用图,对程序中函数调用关系的一种静态描述,节点表示的是具体的函数关系,边表示的是函数之间的调用关系,由于虚函数主要是针对函数调用点来研究的,因此在设计中必须要根据运行时接受对象的实际类型以及确定出函数调用的目标之后具体进行,当遇到如果在编译期对虚函数调用点时采用的是不同静态处理的方式,这种处理方式是通过静态分析来构建函数调用图,并且在程序的设计中进行实际的函数调用分析,建立一定的模拟器程序函数调用图来分析,但是针对虚函数调用点在应用中,需要在静态调用图不精确的结果。 然而本文在研究动态调用图中,将其作为一种修改影响分析的对象,并且给予静态调用图的基础上进行,在程序的设计中将其从程序执行的动态信息中构造调用图,直接从程序中进行,该技术采用的是执行信息,然后修改之后的精度却比静态调用图高,在简化了程序中,提高了效率。动态调用图在设计中,重点是对构造算法具体确定,在确定出具体的节点以及边的信息之后,根据节点来将轨迹中记录的调用信息加入动态调用图中,在实施的过程中采用先进后出的方式进行,在遇到了标志为in的节点后,将其表示的方法被调用,然后将算法从所有的轨迹中提出出来,并且将调用的信息构造出新的动态调用图。 3 修改影响分析算法 通过分析设计,最终得出了动态调用图,然后进行修改影响分析,在后向切片来计算修改影响集合过程。在定义为k-类方法后向切片,然后令E是一个程序,并且将给定的切片准则确定,在设计中具体的规定,其中具体的算法是:当BSLice(E)m,k={m′|(m′→km)∈DCG},m′→k,m是m′到m中存在着一条长度是k的可达路径,并且m′属于切片集合,当且仅当m′在动态调用图中存在着一条长度是k的可达路径到达m。然而在设计中,后切片是BSLice(E)m中的元素与m是调用关系,将修改影响分析设定为:当m′调用m,那么m的修改影响分析就会影响到m′,但是m′却不会影响到m,其中k表示的是调用层次对修改的影响关系,当与 靠近时,其中产生的影响关系就比较大,之后设定的k层之后就不会影响。但是在BSLice(E)m,k中,其计算方法是标准的图,最终可达到算法,在修改之后达到了影响集合的效果,这就形成了修改影响分析技术。将其算法表示为: 输入:动态信息调用图,被修改的方法是集合M,并且调用层是k; 输出:修改影响集合是affectedM For each mi∈M do| affectedM=affectedM∪BSLice(E)m,k 通过具体的算法设计,将Java程序进行研究,进行引入错误,设定k=4之后,进行新测试方法,通过程序开发人员和测试人员具体设定的。具体的试验结果如表1: 程序 方法/个 修改的方法数量/个 修改影响集合的大小 遗漏的需要重新测试的方法数量/个 TK-simulate 543 6 35 1 Automata-Graph 742 5 52 2 通过上述实验结果表明:在使用动态信息调用图中,能够改善修改影响分析的效率,并且提高了使用的价值,在该软件的设计以及应用中提高了测试的效率。 4 结束语 通过分析软件回归测试,进行修改之后实施测试,当遇到了没有分析方法时,需要对设计修改之后的软件进行重新测试,避免软件在开发以及维护中受到影响,因此针对这种现状,改善了精度不高以及静态分析中存在的不足,结果构造出了Java程序的动态调用图,为促进我国大型Java程序测试的具体应用做出了有效的保障,提高了软件的应用效果。
以上就是好酷屋教程网小编为您收集和整理的标签,简介,程序,动态相关内容,如果对您有帮助,请帮忙分享这篇文章^_^
本文来源: https://www.haoku5.com/shenghuo/6412fd7ea85ec9586b0778ca.html
相关推荐
热门专题
喝酒后喝咖啡好吗
历来有美酒加咖啡的说法,美酒加咖啡听上去意境很美好,很多人也有这个习惯,在喝完酒后,来一杯香浓醇厚的咖啡解酒提神,喝酒后喝咖啡好吗?喝酒后喝咖啡不好美酒加咖啡不仅对身体没有好处,起不到醒酒提神的作用,白糖为什么能溶解鱼刺 用什么可以溶解鱼刺
鱼是生活中常见的常见的食物,很多人都喜欢吃吧,吃鱼的时候稍不注意就被鱼刺卡住了怎么办呢?听说用白糖可以帮助溶解鱼刺,这是为什么呢?白糖为什么能溶解鱼刺白糖没有溶解鱼刺的作用。白糖是生活中常见的食物,很葫芦岛财政局每月拨款时间几号
葫芦岛财政局每月拨款时间为15号。通过查询官方网站显示,财政局每月15号左右对事业单位拔款。具体消息可关注官方网站,获得第一手权威信息。财政局负责地方的财政工作,贯彻执行财务制度,按照政策组织财政收入全新胜达怎么下载酷狗
全新胜达可通过U盘、SD卡等设备里下好音乐,插入车上的相应接口,直接进行下载安装即可。建议使用系统自带的播放器,另外安装可能会出现不兼容的情况。全新胜达是北京现代旗下的高端中型豪华SUV,配备2.0T腐竹不能和什么一起吃
腐竹由于味道鲜美,营养丰富受到很多人的喜爱,所以也出现了各种腐竹的吃法,但是腐竹一旦没有搭配吃好就会拉肚子,那么腐竹不能和什么一起吃呢?腐竹不能和什么一起吃1、蜂蜜腐竹跟蜂蜜一起搭配,会造成腹泻,有损如何将多个类目放在一个海报里
用DW软件或者用PS软件做成切片连接,即可将多个类目放在一个海报里。海报这一名称,最早起源于上海,是一种宣传方式。旧时,海报是用于戏剧、电影等演出,活动的招帖。上海的人通常把职业性的戏剧演出称为海,而广州行间网络科技有限公司(关于广州行间网络科技有限公司介绍)
导读大家好,小升来为大家解答以上的问题。广州行间网络科技有限公司,关于广州行间网络科技有限公司介绍这个很多人还不知道,现在让我们一起来看...大家好,小升来为大家解答以上的问题。广州行间网络科技有限公白糖和鸡蛋能一起吃吗 白糖和鸡蛋一起吃有什么危害
鸡蛋是生活中很常见的食物,白糖是生活中常见的调味品,白糖和鸡蛋能一起吃吗?下面一起来看看吧!白糖和鸡蛋能一起吃吗建议不要。糖水荷包蛋是很多人日常喜欢吃的食物,夏天到了,不少人会选择白糖作为首选糖类,但金纹石有没有蜡质光泽
金纹石有蜡质光泽,金纹石主要是黑底(也有褐色底)以金黄色图纹为特征的图纹石,金纹石是奇石界的后起之秀,金纹石一般都质地坚硬,其水冲度高,石体光洁平滑细腻,部分玉化程度高。莫氏硬度在5到8度,金色纹路和女生去塔尔寺禁忌
1、在寺院里,不能用手摸佛经、佛像、法器等,更不能跨越;转经轮时,一定是从左向右;不要乱摸藏族人的头和帽子。2、塔尔寺内很多经院殿堂有禁止拍照的告示牌。3、最好不要穿裙子。4、塔尔寺是藏传佛教,普通人