一种基于软件网络的缺陷高风险模块的识别方法

    公开(公告)号:CN110147321A

    公开(公告)日:2019-08-20

    申请号:CN201910318037.1

    申请日:2019-04-19

    IPC分类号: G06F11/36 G06K9/62

    摘要: 本发明提出一种基于软件网络的缺陷高风险模块识别方法,属于软件复杂网络领域。包括:步骤一,构建自适应分类器,自适应分类器中包含多个分类器;步骤二,进行自适应特征选择;步骤三,进行自适应阈值寻优;步骤四,进行自适应分类器内部参数调优;步骤五,进行自适应最优预测模型的选择,然后利用最优预测模型对待测软件网络进行缺陷高风险模块识别。本发明方法无论针对何种类型的缺陷数据集,都能根据数据集自身的特点完成自适应分类器的构建、自适应特征选择、自适应阈值寻优、自适应分类器内部参数调优、自适应最优预测模型的选择等五个方面的内容,取得最好的缺陷预测结果,识别出高风险软件模块。

    一种基于软件网络的缺陷数据集构建与处理方法

    公开(公告)号:CN110147322A

    公开(公告)日:2019-08-20

    申请号:CN201910318040.3

    申请日:2019-04-19

    IPC分类号: G06F11/36

    摘要: 本发明提供了一种基于软件网络的缺陷数据集构建与处理方法,属于软件复杂网络领域。本发明先将软件源程序抽象成软件网络,按照不平衡数据集处理方法,挑选出需要的缺陷节点和非缺陷节点,根据设计的将软件程序的宏观拓扑结构与微观交联关系相结合的度量参数,计算所挑选的节点的度量参数值,构建多个不平衡率依次递增的缺陷数据集,以进一步提供给缺陷预测方法使用。本发明尽可能将在多个历史版本中没有发生缺陷的节点加入到缺陷数据集中,可调节非缺陷节点与缺陷节点数据的比例,根据实际的需求构建出缺陷数据集,而不是盲目的计算软件所有的节点数据构建一个数据集,减小了潜在缺陷节点带来的噪声,减少潜在噪声对预测模型的影响。

    一种基于复杂网络的软件结构重要模块识别方法

    公开(公告)号:CN108536471A

    公开(公告)日:2018-09-14

    申请号:CN201810233854.2

    申请日:2018-03-21

    IPC分类号: G06F8/75 G06F11/36

    摘要: 本发明公开了一种基于复杂网络的软件结构重要模块识别方法,包括步骤1:确定目标软件并获取其完整的软件源代码;步骤2:对目标软件源代码进行静态扫描,分析软件中的元素实体和元素之间的相互关系;步骤3:在步骤2的基础上,构建软件属性方法网络,并构造相应粒度的软件复杂网络模型;步骤4:在步骤3得到软件复杂网络模型后,得到节点按重要性度量值排序后的集合,结合实际工程情况选取重要模块。本发明基于复杂网络综合了对模块重要性有影响的四个维度的因素给出了识别重要模块的方法,整个度量分析过程都可在后台实现,建立在完全自动化的流程上,确保最大限度减低人力和时间成本。

    一种软件复杂网络的三维坐标模型构建方法

    公开(公告)号:CN106502669A

    公开(公告)日:2017-03-15

    申请号:CN201610915503.0

    申请日:2016-10-20

    IPC分类号: G06F9/44

    CPC分类号: G06F8/20

    摘要: 本发明提供了一种软件复杂网络的三维坐标模型构建方法,应用于软件复杂网络领域。本发明首先确定目标结构化软件,并获取其完整的软件源代码,再对目标软件源代码进行静态扫描,分析软件中的函数以及函数之间的调用关系,然后以函数作为网络节点,函数调用关系作为网络边,构建函数调用网络,在函数调用网络中加入函数调用顺序信息,根据函数调用顺序信息以及函数调用拓扑结构,为每个函数节点生成一组唯一的三维坐标并写入网络节点中,得到结构化软件基于函数调用顺序的函数调用坐标网络,然后使用这些三维坐标来指导网络可视化工作。本发明得到的网络节点呈现极强的有序性,能够在复杂网络的模型下提供软件运行相关的逻辑信息。

    一种基于软件网络结构特征的软件可靠性度量方法

    公开(公告)号:CN109828925A

    公开(公告)日:2019-05-31

    申请号:CN201910093132.6

    申请日:2019-01-30

    IPC分类号: G06F11/36

    摘要: 本发明提出一种基于软件网络结构特征的软件可靠性度量方法,属于软件复杂网络技术领域。本发明首先获取目标软件的完整的软件源代码,构建软件网络,其次对软件网络中的模块进行重要性计算,识别出重要模块;然后,对每个重要模块的结构复杂性、代码复杂性、接口复杂性和变更频率进行计算,再进一步计算软件的结构可靠性风险、代码可靠性风险、接口可靠性风险和变更可靠性风险;最后,综合四个方面的风险来度量软件可靠性,计算的软件可靠性的值越大,软件可靠性风险越高。本发明方法不需要耗时耗力的可靠性测试,不需要执行软件可靠性测试,节省了时间和人力资源,解决了现有软件模块可靠性难以评估的问题,并能够定位到高风险模块具体位置。

    一种基于复杂网络动态仿真的软件模块变更影响确定方法

    公开(公告)号:CN108664728A

    公开(公告)日:2018-10-16

    申请号:CN201810442474.X

    申请日:2018-05-10

    IPC分类号: G06F17/50

    摘要: 本发明公开了一种基于复杂网络动态仿真的软件模块变更影响确定方法,属于软件复杂网络领域,包括:首先对目标软件的源代码进行静态扫描,构建软件属性方法网络;再根据实际需要识别软件模块粒度大小,构造软件复杂网络模型,对变更发生在确定软件模块后的影响传播进行动态仿真,得到各节点受影响程度量化值和变更影响范围;最后,将节点在每个变更传播代的衰减系数求和,作为节点受影响程度量化值,依赖此量化值得到软件网络上的变更影响程度可视化结果图。本发明综合考虑了变更传播特性和节点特性进行动态仿真,利用变更影响的衰减过程,整个度量分析过程都可在后台实现,并建立在完全自动化的流程上,确保最大限度减低人力和时间成本。

    一种基于复杂网络的软件缺陷分布影响因素分析方法

    公开(公告)号:CN108345544A

    公开(公告)日:2018-07-31

    申请号:CN201810255695.6

    申请日:2018-03-27

    IPC分类号: G06F11/36

    CPC分类号: G06F11/3608

    摘要: 本发明提出一种基于复杂网络的软件缺陷分布影响因素分析方法,属于软件缺陷分析领域,包括:步骤1根据软件的修改模块,分析软件修改度量参数与缺陷分布的相关性;步骤2基于软件函数调用网络,分析软件网络结构度量参数与缺陷分布的相关性;步骤3基于机器学习算法,获得影响软件缺陷分布的最优特征子集;通过以上三大步骤可以获得用来分析软件缺陷分布情况的最优特征子集和相应的机器学习算法,一方面为软件缺陷预测的研究提供的数据基础和方法支持,也可作为软件可靠性相关工作的参考,另一方面也可以对软件测试领域提供指导作用。

    一种基于面向对象软件代码的软件复杂网络模型构建方法

    公开(公告)号:CN106951365A

    公开(公告)日:2017-07-14

    申请号:CN201710113704.3

    申请日:2017-02-28

    IPC分类号: G06F11/36

    摘要: 本发明提供了一种基于面向对象软件代码的软件复杂网络模型构建方法。本发明以易于工程化为前提,在对面向对象软件代码进行详细分析的基础上,通过构建具备软件代码基本实体、关系以及演化特征的数据化软件,并利用组网与展示规则细化软件复杂网络模型含义,构建出了具有明显层次性、层次独立性、软件信息可做苏醒、可扩展性的软件复杂网络。本方法可以有效简化面向对象软件复杂网络的构建过程,并可以从更多角度对统一软件进行分析,其可追溯性利于网络特征与软件特征的对应,而可扩展性大大提高了软件复杂网络模型所描述的软件特征范围,对于软件复杂网络的研究及工程实践具有深远的意义。

    一种基于软件网络结构特征的软件可靠性度量方法

    公开(公告)号:CN109828925B

    公开(公告)日:2021-02-09

    申请号:CN201910093132.6

    申请日:2019-01-30

    IPC分类号: G06F11/36

    摘要: 本发明提出一种基于软件网络结构特征的软件可靠性度量方法,属于软件复杂网络技术领域。本发明首先获取目标软件的完整的软件源代码,构建软件网络,其次对软件网络中的模块进行重要性计算,识别出重要模块;然后,对每个重要模块的结构复杂性、代码复杂性、接口复杂性和变更频率进行计算,再进一步计算软件的结构可靠性风险、代码可靠性风险、接口可靠性风险和变更可靠性风险;最后,综合四个方面的风险来度量软件可靠性,计算的软件可靠性的值越大,软件可靠性风险越高。本发明方法不需要耗时耗力的可靠性测试,不需要执行软件可靠性测试,节省了时间和人力资源,解决了现有软件模块可靠性难以评估的问题,并能够定位到高风险模块具体位置。

    一种基于面向对象软件代码的软件复杂网络模型构建方法

    公开(公告)号:CN106951365B

    公开(公告)日:2020-04-03

    申请号:CN201710113704.3

    申请日:2017-02-28

    IPC分类号: G06F11/36

    摘要: 本发明提供了一种基于面向对象软件代码的软件复杂网络模型构建方法。本发明以易于工程化为前提,在对面向对象软件代码进行详细分析的基础上,通过构建具备软件代码基本实体、关系以及演化特征的数据化软件,并利用组网与展示规则细化软件复杂网络模型含义,构建出了具有明显层次性、层次独立性、软件信息可做苏醒、可扩展性的软件复杂网络。本方法可以有效简化面向对象软件复杂网络的构建过程,并可以从更多角度对统一软件进行分析,其可追溯性利于网络特征与软件特征的对应,而可扩展性大大提高了软件复杂网络模型所描述的软件特征范围,对于软件复杂网络的研究及工程实践具有深远的意义。