【技术实现步骤摘要】
一种基于图挖掘的Web云应用软件故障定位方法
本专利技术属于Web云应用
,具体涉及一种基于图挖掘的Web云应用软件故障定位方法。
技术介绍
Web云应用是云计算在应用层的体现,通过“即取即用”的方式为用户提供便捷的IT服务,能够大大提高用户的工作效率。然而,往往Web云应用程序规模较大,对其进行故障定位十分耗时费力,且现有技术均不能有效的实现Web云应用的故障定位,因此严重影响了Web云应用的维护。目前已有的自动化软件故障定位方法包括静态方法和动态方法,二者的区别在于是否运行程序。静态方法不需要运行程序,直接分析程序语句间的依赖关系和类型约束等信息来定位程序中可能存在的故障点;动态方法则需要运行程序,通过分析程序执行测试用例时产生的过程信息来进行故障定位。有效地定位出软件故障可以辅助程序人员快速恢复程序功能,降低软件运维成本。目前,通过静态分析进行故障定位的方法中,符号执行方法则是一种路径依赖的方法,为保证路径间的相互独立需要为每条路径创建专属模型,因此当程序复杂、规模较大时,其面临建模困难以及路径爆炸问题; ...
【技术保护点】
1.一种基于图挖掘的Web云应用软件故障定位方法,其特征在于,包括以下步骤:/n步骤一:获取程序执行轨迹,并在生成轨迹的过程中得到程序调用图;/n步骤二:对所述程序调用图进行预处理;/n步骤三:从预处理后的程序调用图中挖掘出特征信息;/n步骤四:基于步骤三利用决策树算法进行故障定位。/n
【技术特征摘要】
1.一种基于图挖掘的Web云应用软件故障定位方法,其特征在于,包括以下步骤:
步骤一:获取程序执行轨迹,并在生成轨迹的过程中得到程序调用图;
步骤二:对所述程序调用图进行预处理;
步骤三:从预处理后的程序调用图中挖掘出特征信息;
步骤四:基于步骤三利用决策树算法进行故障定位。
2.如权利要求1所述的方法,其特征在于,步骤一中使用AspectJ来获取Web云应用的执行轨迹。
3.如权利要求2所述的方法,其特征在于,步骤一的具体步骤为:
1)定义一个切点来获取所有方法的调用,同时使用!within()将AspectJ自身的执行代码排除在外;
2)定义一个advice类型的通知用于将信息写入到文件中;
3)获取调用的方法名字;
4)把获取到的两个调用方法名集合成一条边,并将其存储在一个内部数据结构中;
5)在程序执行的最后使用一种切点将同时得到的程序调用图写进一个文件中。
4.如权利要求3所述的方法,其特征在于,步骤二中运用Fork/Join框架实现子树约简。
5.如权利要求4所述的方法,其特征在于,步骤二的具体步骤为:
1)首先将调用图的每条边设置权值为1,表示方法调用的频数;
2)设调用图共有n层,从第n-1层开始逐层向上,对每层节点进行如下操作:划分出与每层节点个数数量相同的子任务,然后同时地遍历该层所有节点,合并每个节点结构相同的子节点,使其对应边权值相加,并保留结构不同的子节点。
6.如权利要求5所述的方法,其特征在于,步骤三中,采用图挖掘技术从预处理后的调用图中挖掘出特征信息。
7.如权利要求5所述的方法,其特征在于,步骤三中,利用频繁子图挖掘提取图集中的特征,取出在整个图集中出现次数较多的边。
8.如权利要求5所述的方法,其特征在于,步骤三具体为:
1)重新置调用图集GD的所有边权值为1...
【专利技术属性】
技术研发人员:苏醒,王泊涵,丁晓东,许健,平笑柔,
申请(专利权)人:北京计算机技术及应用研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。