Processing

Please wait...

PATENTSCOPE will be unavailable a few hours for maintenance reason on Tuesday 26.10.2021 at 12:00 PM CEST
Settings

Settings

Goto Application

1. CN109522192 - A forecasting method based on knowledge map and complex network combination

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]

权利要求书

1.一种基于知识图谱和复杂网络组合的预测方法,其特征在于:其具体实施步骤如下:
步骤1:获取复数个不同类型的软件故障案例;
步骤2:提取软件故障案例中的复数个故障现象以及故障原因并进行聚类分析;
步骤3:提取每一现象聚类及原因聚类的关键词作为每一类的聚类标签,生成知识图谱;
步骤4:将每一类的聚类标签分别对应到软件的复数个功能模块;
步骤5:获取软件产品的各个功能模块与软件代码之间的映射关系;
步骤6:以软件代码中的函数为节点,函数间的调用关系为边,建立代码网络;
步骤7:基于所构建的知识图谱,分别将每一版本软件中聚类标签所对应到的功能模块映射到历史版本下的代码网络中,在相应的代码部分作出标记;
步骤8:基于历史版本下的代码网络中标记的位置,预测未知版本软件的代码网络风险的位置所在。

2.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤1中所述的“获取复数个不同类型的软件故障案例”,其具体做法如下:软件故障案例类型至少包括:容错和防错、接口、中断和现场保护,时序和时限、运行环境、计算和方法、初始化和复位、编程和语言使用和需求管理与配置管理;软件故障案例为:关键指令未作冗余位定义导致功能失效。

3.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤2中所述的“提取软件故障案例中的复数个故障现象以及故障原因并进行聚类分析”,其具体做法如下:采用聚类分析的方法将未经分类的软件故障案例按照相似度进行归类,把具有相似属性和特征的对象归于一类,类的大小与类与类之间的距离均揭示案例间的信息;获取的软件的故障案例将软件故障案例类型分为以下至少9种:容错和防错、接口、中断和现场保护,时序和时限、运行环境、计算和方法、初始化和复位、编程和语言使用和需求管理与配置管理;提取软件的复数种故障现象以及故障原因如下:在容错和防错类型中:容错方法使用不恰当导致软件的可靠性降低、未作超时处理进入死循环;在接口类型中:超时处理导致状态采集失控、指令格式定义不统一导致死机;在中断和现场保护类型中:中断管理不当导致程序跑飞、中断向量初始化不完整导致误触发定时器中断;在时序和时限类型中:数据流与数据不同步导致数据丢失、无限循环的等待导致死机;在运行环境类型中:定时器使用不当导致指令丢失、操作系统使用手册有缺陷导致指令丢失;在计算和方法类型中:计数错误导致有效数据变无效、错用变量名导致计算错误;在初始化和复位类型中:变量初始化不完整导致系统失控、初值选择不当导致功能无法实现;在编程和语言使用类型中:相似变量名导致软件失控、外部函数未作说明导致系统状态混乱;在需求管理和配置管理类型中:设计未随需求修改导致编程错误、多余指令未及时删除导致提前进行地形匹配;聚类分析将故障案例中提取出的故障现象以及故障原因分别归类为复数个现象聚类以及复数个原因聚类。

4.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤3中所述的“提取每一现象聚类及原因聚类的关键词作为每一类的聚类标签,生成知识图谱”,其具体做法如下:知识图谱由现象聚类以及原因聚类作为节点,由现象聚类以及原因聚类之间的关系作为边构建一个数据结构的知识图谱,通过将所提取的故障现象以及故障原因进行手工清洗,基于清洗后的数据集进行频数统计,使用构建工具分别构建高频词、故障原因和故障现象的共现矩阵,将复杂的语句及说明在矩阵和绘制的部分图谱中用序号表示;聚类标签能为高频词及关键词,在复数个软件故障案例中,将“计算错误”作为其中一个原因聚类标签,将“程序无法继续执行”作为其中一个现象聚类标签。

5.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤4中所述的“将每一类的聚类标签分别对应到软件的复数个功能模块”,其具体做法如下:将实际系统中的所有原子功能,也即是不可以再分为两个及两个以上的功能划分为不同的功能模块,软件的功能模块表示软件的各个部分能够实现的功能;将聚类标签分别对应到软件的功能模块中,也即是根据软件故障案例中故障现象和原因,分析并找出软件的具体功能模块。

6.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤5中所述的“获取软件产品的各个功能模块与软件代码之间的映射关系”,其具体做法如下:获取软件的源代码以及所能实现的功能场景;为每个功能设计使用场景用于触发该功能所表现出来的输入序列;对源代码进行插装并重新编译插装后的源代码,得到可执行目标码;执行每一个场景,同时被插装的代码记录触发每个功能所依赖的代码实体,从而获得功能和代码间的映射关系。

7.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤6中所述的“以软件代码中的函数为节点,函数间的调用关系为边,建立代码网络”,其具体做法如下:首先确定代码网络的功能体系,应用软件工程进行整体设计,然后将软件代码中的各个函数作为网络的节点,各个函数之间的调用关系作为网络的边,建立代码网络,对所构造的代码网络进行包括度分布、聚集系数和最短路径的特性分析。

8.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤7中所述的“基于所构建的知识图谱,分别将每一版本软件中聚类标签所对应到的功能模块映射到历史版本下的代码网络中,在相应的代码部分作出标记”,其具体步骤如下:所构建的知识图谱包含了获取的复数个软件故障案例的故障信息,将知识图谱的聚类标签对应到功能模块,分别将所对应到的功能模块映射到历史软件版本下的代码网络中,在相应的代码部分作出标记,则能清楚观察到历史版本的软件中的代码可能存在风险的位置。

9.根据权利要求1所述的一种基于知识图谱和复杂网络组合的预测方法,其特征在于:在步骤8中所述的“基于历史版本下的代码网络中标记的位置,预测未知版本软件的代码网络风险的位置所在”,其具体做法如下:将被标记的软件的历史版本的代码网络排列开来,基于历史版本的代码网络中的标记位置,预测未知版本的软件的代码网络风险的位置;及基于任意能进行相似度分析的工具,对被标记的历史版本软件的代码网络进行相似度分析,根据相似度分析结果预测未知版本的代码网络风险。