本发明专利技术公开了一种基于图挖掘的电子税务系统软件故障定位方法,通过监测待测电子税务系统软件的执行过程获得程序的动态调用结构,构建的权值的调用网络图,并采用图挖掘技术分析发现程序在执行过程中的频繁子图结构。根据电子税务系统软件的异常调用频繁子图库,对比当前电子税务系统软件是否存在异常调用的频繁子图,实现软件故障的检测和定位。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了,通过监测待测电子税务系统软件的执行过程获得程序的动态调用结构,构建的权值的调用网络图,并采用图挖掘技术分析发现程序在执行过程中的频繁子图结构。根据电子税务系统软件的异常调用频繁子图库,对比当前电子税务系统软件是否存在异常调用的频繁子图,实现软件故障的检测和定位。【专利说明】
本专利技术属于软件程序调用图构建与图挖掘领域,涉及一种基于图挖掘的电子税务 系统软件故障定位方法。
技术介绍
税收是国家(政府)公共财政最主要的收入形式和来源,随着信息化时代的高速 发展,经济活动的超时空趋势对传统的报税方式开始形成挑战。随着税收征管改革的不断 深入和完善,采用信息化、现代化的管理方式已成为趋势,远程电子申报纳税成为一种先进 的申报方式。然而承载远程报税方式的电子税务系统软件由于在开发过程中可能存在一些 程序漏洞,不同的软件漏洞会导致出现不同的不良后果。例如税务软件登录系统存在漏洞 可能导致不法分子窃取报税人的账户或密码,然后冒充或伪造该报税人身份进行恶意报税 操作,这不仅扰乱正常的报税秩序,同时很可能会对合法纳税人及国家造成不可挽回的重 大经济损失。因此检测出电子税务软件漏洞这项工作具有很强的社会需求与现实意义,但 是再对电子税务系统中的程序进行漏洞的检测过程中,现有的技术均不能有效的实现电子 税务系统软件故障的定位,因此严重的影响了故障软件的维修及处理。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供了一种基于图挖掘的电子税务 系统软件故障定位方法,该方法可以有效的实现对电子税务系统软件故障的定位。 为达到上述目的,本专利技术所述的基于图挖掘的电子税务系统软件故障定位方法, 其特征在于,包括以下步骤: S101)向电子税务系统中输入待测电子税务系统软件,然后根据输入的待测电子 税务系统软件采用程序动态时间切片分析方法获得程序调用结构关系; S102)根据步骤S101)得到的程序调用结构关系利用时间维度的切片获取方法调 用路径,然后根据方法调用路径构建带权值的调用网络图; S103)对步骤S102)得到的带权值的调用网络图进行频繁子图的挖掘,得频繁子 图结构,其中,频繁子图为待测电子税务系统软件执行过程中调用频率大于预设阈值的被 调用的方法集合; S104)将步骤S103)得到的频繁子图结构中的频繁子图与电子税务系统中异常调 用频繁子图库中的异常调用频繁子图进行匹配,判断待测电子税务系统软件中是否存在异 常的频繁子图; S105)当待测电子税务系统软件中存在异常的频繁子图时,则将所述异常的频繁 子图对应待测电子税务系统软件中的异常执行函数序列及函数方法圈定,然后根据所有异 常的频繁子图对应的异常执行函数序列及函数方法构建导致系统故障的方法集合,然后输 出导致系统故障的方法集合。 步骤S104)的具体操作为:将步骤S103)得到的频繁子图结构中的频繁子图与电 子税务系统中异常调用频繁子图库中的异常调用的频繁子图进行对比,判断频繁子图结构 中的频繁子图与电子税务系统中异常调用频繁子图库中的异常调用的频繁子图的差异度, 当所述差异度小于或等于预设阈值时,则所述频繁子图为异常的频繁子图,当所述相似度 大于预设阈值时,则所述频繁子图为正常的频繁子图。 步骤S102)中的权值为待测电子税务系统软件在电子税务系统中运行过程中程 序调用关系被调用的次数。 步骤S103)中对步骤S102)得到的带权值的调用网络图采用gSpan算法进行频繁 子图的挖掘。 本专利技术具有以下有益效果: 本专利技术所述的基于图挖掘的电子税务系统软件故障定位方法在对电子税务系统 软件的故障进行定位的过程中,采用程序动态时间切片分析方法获取程序调用结构关系, 并根据所述程序调用结构关系构建带权值的调用网络图,再对带权值的调用网络图进行频 繁子图的挖掘,然后再通过将得到的频繁子图与电子税务系统中异常调用频繁子图库中的 异常调用频繁子图进行匹配,从而检测出当前档子税务系统软件中是否存在异常调用的频 繁子图,最后根据所有异常的频繁子图对应的异常执行函数序列及函数方法构建导致系统 故障的方法集合,并输出该导致系统故障的方法集合即可,从而精确实现电子税务系统软 件故障的定位,操作方便简单,可重用性好,并且可扩展性好。 【专利附图】【附图说明】 图1为本专利技术的流程图; 图2为本专利技术中监控数据处理的流程图; 图3为本专利技术中动态调用网络构建的示意图; 图4为本专利技术中程序执行序列的带权图构建的流程图。 【具体实施方式】 下面结合附图对本专利技术做进一步详细描述: 参考图1,本专利技术所述的基于图挖掘的电子税务系统软件故障定位方法包括以下 步骤: S101)向电子税务系统中输入待测电子税务系统软件,然后根据输入的待测电子 税务系统软件采用程序动态时间切片分析方法获得程序调用结构关系; 需要说明的是,采用程序动态时间切片分析方法的前提是首先需要获得程序调用 结构关系,包括监控数据的处理以及根据监控日志还原软件动态调用关系两大部分。 参考图2,具体包括以下步骤: 1)在对软件系统的监控过程中,可以通过方法执行的拦截并通过其签名获取方法 的所属包名、类名、方法名及形参列表,并通过获取系统时间来获取方法执行的开始时间及 结束时间,但是执行路径相关的信息需要通过线程相关的信息,自行组织维护一个类似于 堆栈的一个数据结构,其中,包含有traceld,eoi,ess属性,traceld为一条执行路径的标 识,也是一条线程的标识,eoi(excution order index)为当前方法为此执行路径中的执行 的顺序,ess (excution stack size)为当前执行路径的调用深度,eoi,ess都是从0开始 增长; 2)在数据整理的整个流程中针对每一个方法都先判定其是否为要监控的方法, 如果是,则获取其基本的监控信息和执行的开始时间,初始化三个变量traceld,eoi,ess。 traceld,eoi,ess三个变量声明为ThreadLocal类型,即一个线程中共享这三个数据的同 一个副本,不同线程各有一个副本,在获取监控的基本信息后首先判断其是否为本线程中 的第一个执行的方法,如果不是则会返回当前线程的标识traceld,但是若是第一个方法, 则需要为其生成一个独一无二的线程标识traceld并初始化其eoi,ess为0 ;如若是不 需要监控的方法,则直接运行,获取当前raceld,eoi,ess,然后再用局部变量保存当前的 eoi,ess, traceld并生成一条方法结束时间为0的日志记录; 3)将eoi++,ess++执行方法体,当方法中有方法调用的时候再重复这个过程直到 方法执行结束; 4)最后方法执行完了再获取方法执行结束时间生成一条日志记录,最后将线程共 享的ess重置为当前的ess为同层执行的方法保证数据的正确性。 软件动态调用关系还原是上述数据处理的逆操作,主要通过监控记录中的 traceld, eoi, ess三个数据还原软件动态执行过程中的方法调用关系。软件动态运行过 程中生成的记录并不一本文档来自技高网...
【技术保护点】
一种基于图挖掘的电子税务系统软件故障定位方法,其特征在于,包括以下步骤:S101)向电子税务系统中输入待测电子税务系统软件,然后根据输入的待测电子税务系统软件采用程序动态时间切片分析方法获得程序调用结构关系;S102)根据步骤S101)得到的程序调用结构关系利用时间维度的切片获取方法调用路径,然后根据方法调用路径构建带权值的调用网络图;S103)对步骤S102)得到的带权值的调用网络图进行频繁子图的挖掘,得频繁子图结构,其中,频繁子图为待测电子税务系统软件执行过程中调用频率大于预设阈值的被调用的方法集合;S104)将步骤S103)得到的频繁子图结构中的频繁子图与电子税务系统中异常调用频繁子图库中的异常调用频繁子图进行匹配,判断待测电子税务系统软件中是否存在异常的频繁子图;S105)当待测电子税务系统软件中存在异常的频繁子图时,则将所述异常的频繁子图对应待测电子税务系统软件中的异常执行函数序列及函数方法圈定,然后根据所有异常的频繁子图对应的异常执行函数序列及函数方法构建导致系统故障的方法集合,然后输出导致系统故障的方法集合。
【技术特征摘要】
【专利技术属性】
技术研发人员:郑庆华,侯雨桥,屈宇,刘烃,王丽丹,
申请(专利权)人:西安交通大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。