网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月03日漏签0天
丰泽教育吧 关注:1,179贴子:411
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 3回复贴,共1页
<<返回丰泽教育吧
>0< 加载中...

如何对动态调用图的Java程序修改

  • 只看楼主
  • 收藏

  • 回复
  • 啦啦啦悠哉
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如何对动态调用图的Java程序修改


  • 啦啦啦悠哉
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
  基于动态信息的修改影响
为了提高计算的精度,改善计算的复杂程序,这就提出了动态信息的修改影响分析,首先在获得动态信息中,一般需要在程序中插桩,促进程序能够正常的将信息进行输出,这就需要在设计中将编译后的Java字节码程序插桩,然而本文在实施的过程中采用的是将每个方法插桩,来记录调用信息,在设计中其动态信息的修改影响分析的原理是:如图1所示,在进行插桩后的Java程序设计中,能够根据输出执行轨迹信息并且构造出动态调用图,然后进行修改影响分析,最终得出需要重新测试的模块,保障了高效的回归测试。
  


2025-06-03 21:52:03
广告
  • 啦啦啦悠哉
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
   动态信息调用图的设计
由于软件测试在开销中应用的范围比较广,这就提出了软件回归测试,其中该软件是指针对修改之后的软件进行测试,然后需要达到修改后能够完成新的功能测试,并且在修改之后能否引入新的错误。但是在设计的过程中由于各个程序之间的元素关系比较复杂,这就需要在设计中提出详细的分析方法,能够使其在使用中对于整个程序进行重新测试,从此注重软件的后期开发以及软件的维护阶段,能够频繁并且在少量修改的状态下使用软件,在使用中每次修改时都要重新运行全部的测试,这就导致了软件开发和维护的效率比较低,这种形式就是修改影响分析。因此在修改影响分析中其主要的目的是提高测试的效率,降低测试的费用,简化测试的程序,本文提出了动态信息的修改设计,采用的是动态信息调用图,对程序中函数调用关系的一种静态描述,节点表示的是具体的函数关系,边表示的是函数之间的调用关系,由于虚函数主要是针对函数调用点来研究的,因此在设计中必须要根据运行时接受对象的实际类型以及确定出函数调用的目标之后具体进行,当遇到如果在编译期对虚函数调用点时采用的是不同静态处理的方式,这种处理方式是通过静态分析来构建函数调用图,并且在程序的设计中进行实际的函数调用分析,建立一定的模拟器程序函数调用图来分析,但是针对虚函数调用点在应用中,需要在静态调用图不精确的结果。
然而本文在研究动态调用图中,将其作为一种修改影响分析的对象,并且给予静态调用图的基础上进行,在程序的设计中将其从程序执行的动态信息中构造调用图,直接从程序中进行,该技术采用的是执行信息,然后修改之后的精度却比静态调用图高,在简化了程序中,提高了效率。动态调用图在设计中,重点是对构造算法具体确定,在确定出具体的节点以及边的信息之后,根据节点来将轨迹中记录的调用信息加入动态调用图中,在实施的过程中采用先进后出的方式进行,在遇到了标志为in的节点后,将其表示的方法被调用,然后将算法从所有的轨迹中提出出来,并且将调用的信息构造出新的动态调用图。


  • 啦啦啦悠哉
  • 人中龙凤
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
  修改影响分析算法
通过分析设计,最终得出了动态调用图,然后进行修改影响分析,在后向切片来计算修改影响集合过程。在定义为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
通过上述实验结果表明:在使用动态信息调用图中,能够改善修改影响分析的效率,并且提高了使用的价值,在该软件的设计以及应用中提高了测试的效率。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 3回复贴,共1页
<<返回丰泽教育吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示