一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于开发人员行为分析的软件缺陷预测方法及装置与流程

2022-03-26 13:38:42 来源:中国专利 TAG:


1.本发明涉及软件测试相关技术领域,具体涉及一种基于开发人员行为分析的软件缺陷预测方法及装置。


背景技术:

2.软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误、或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在软件开发生命周期中,随着时间的推移,修复检测到的软件缺陷的成本会越来越高。因而如果能在软件开发阶段对项目中涉及功能模块的缺陷数量以及缺陷等级进行预测,可以帮助测试人员在测试人员在测试过程中重点关注,以便尽可能早的发现软件缺陷,降低软件缺陷的修复成本。
3.目前市面上有很多不同原理的软件缺陷预测方法,但是基本都是通过软件进行测试优化,并未从软件开发的根源开发人员进行关注,导致缺陷确定不稳定。
4.但本技术发明人在实现本技术实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
5.现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。


技术实现要素:

6.本技术实施例通过提供了一种基于开发人员行为分析的软件缺陷预测方法及装置,解决了现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。通过分析软件开发人员对同一模块的浏览次数和代码修改行数,得到缺陷影响因子,进而依据历史的项目数据以及对应软件测试的缺陷数据基于gan算法建立软件缺陷预测模型,最后将缺陷因子输入缺陷预测模型,得到开发软件的缺陷预测结果,通过从开发软件的根源开发人员进行分析,进而基于开发人员行为推理得到的缺陷预测结果更加具有代表性,达到了提高缺陷预测结果准确性的技术效果。
7.鉴于上述问题,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测方法及装置。
8.第一方面,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测方法,其中,所述方法包括:获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;根据gan算法建立软件缺陷预测模型;将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果。
9.另一方面,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测装置,其中,所述装置包括:第一获得单元,所述第一获得单元用于获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;第二获得单元,所述第二获得单元用于获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;第三获得单元,所述第三获得单元用于根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;第一建立单元,所述第一建立单元用于根据gan算法建立软件缺陷预测模型;第四获得单元,所述第四获得单元用于将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果。
10.第三方面,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
11.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
12.由于采用了获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;根据gan算法建立软件缺陷预测模型;将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果的技术方案,通过分析软件开发人员对同一模块的浏览次数和代码修改行数,得到缺陷影响因子,进而依据历史的项目数据以及对应软件测试的缺陷数据基于gan算法建立软件缺陷预测模型,最后将缺陷因子输入缺陷预测模型,得到开发软件的缺陷预测结果,通过从开发软件的根源开发人员进行分析,进而基于开发人员行为推理得到的缺陷预测结果更加具有代表性,达到了提高缺陷预测结果准确性的技术效果。
13.上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。
附图说明
14.图1为本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测方法流程示意图;
15.图2为本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测模型的构建方法流程示意图;
16.图3为本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测装置结构示意图;
17.图4为本技术实施例示例性电子设备的结构示意图。
18.附图标记说明:第一获得单元11,第二获得单元12,第三获得单元13,第一建立单元14,第四获得单元15,电子设备300,存储器301,处理器302,通信接口303,总线架构304。
具体实施方式
19.本技术实施例通过提供了一种基于开发人员行为分析的软件缺陷预测方法及装置,解决了现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。通过分析软件开发人员对同一模块的浏览次数和代码修改行数,得到缺陷影响因子,进而依据历史的项目数据以及对应软件测试的缺陷数据基于gan算法建立软件缺陷预测模型,最后将缺陷因子输入缺陷预测模型,得到开发软件的缺陷预测结果,通过从开发软件的根源开发人员进行分析,进而基于开发人员行为推理得到的缺陷预测结果更加具有代表性,达到了提高缺陷预测结果准确性的技术效果。
20.申请概述
21.软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误、或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。在软件开发生命周期中,随着时间的推移,修复检测到的软件缺陷的成本会越来越高。因而如果能在软件开发阶段对项目中涉及功能模块的缺陷数量以及缺陷等级进行预测,可以帮助测试人员在测试人员在测试过程中重点关注,以便尽可能早的发现软件缺陷,降低软件缺陷的修复成本。目前市面上有很多不同原理的软件缺陷预测方法,但是基本都是通过软件进行测试优化,并未从软件开发的根源开发人员进行关注,导致缺陷确定不稳定,但现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。
22.针对上述技术问题,本技术提供的技术方案总体思路如下:
23.本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测方法,其中,所述方法包括:获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;根据gan算法建立软件缺陷预测模型;将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果。
24.在介绍了本技术基本原理后,下面将结合说明书附图来具体介绍本技术的各种非限制性的实施方式。
25.实施例一
26.如图1所示,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测方法,其中,所述方法包括:
27.s100:获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;
28.具体而言,所述第一开发人员为进行软件开发的工作和技术人员,一般为多个,包括但不限于开发人员、测试人员等类型;所述第一开发软件为第一开发人员进行开发的项目;所述第一模块为第一开发软件中需要预测缺陷的功能模块;所述第一模块的存量文档浏览次数为装置记录的第一开发人员预设时间内浏览第一模块的次数,预设时间为上次缺陷预测的时间节点到当前时间节点。通过相同方式遍历第一开发软件中的所有模块,将每个模块的所述存量文档浏览次数存储为一组,得到多组的所述存量文档浏览次数。通过读
取对各个模块的浏览次数,浏览次数越多,则对应的模块重要程度就越高,则出现缺陷数量较多、缺陷等级较高的可能性也就越高,为后步进行缺陷预测提供信息反馈基础。
29.s200:获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;
30.具体而言,所述第一模块的代码修改行数为第一开发人员在预设时间内对第一开发软件的第一模块的代码修改行数,预设时间为上次缺陷预测的时间节点到当前时间节点。通过相同方式遍历第一开发软件中的所有模块,将每个模块的所述代码修改行数添加进步骤s100中存储的组别,得到多组的所述代码修改行数。通过读取对各个模块的代码修改行数,代码修改行数越多,则对应的模块重要程度就越高,逻辑比较复杂且改动量较大,则出现缺陷数量较多、缺陷等级较高的可能性也就越高,为后步进行缺陷预测提供信息反馈基础。
31.s300:根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;
32.进一步的,基于所述根据所述存量文档浏览次数和所述代码修改行数,获得缺陷影响因子,步骤s300包括步骤s310:
33.xa=20*i j
34.其中,所述xa为所述第一开发软件的所述缺陷影响因子;
35.i为所述存量文档浏览次数;
36.j为所述代码修改行数。
37.具体而言,根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,依据xa=20*i j计算所述第一缺陷影响因子,其中,所述xa为所述第一开发软件的所述缺陷影响因子;i为所述存量文档浏览次数;j为所述代码修改行数。进一步的,不同模块的缺陷影响因子由于所述存量文档浏览次数和所述代码修改行数不同,进而导致缺陷影响因子计算结果不同,将计算得到多个缺陷影响因子和模块一一对应存储,便于后步进行缺陷分析时快速进行调用。
38.s400:根据gan算法建立软件缺陷预测模型;
39.具体而言,基于历史的项目信息作为训练数据集构建所述软件缺陷预测模型,所述软件缺陷预测模型为gan算法模型,全称是generative adversarial network,中文名为对抗生成网络,在深度学习中属于生成模型的一种。gan的主要结构包括一个生成器(generator)和一个判别器(discriminator),gan是从生成器和判别器的博弈中互相提升处理效果,基于两个网络互相对抗来达到最好的生成效果。通过基于gan算法构建的所述软件缺陷预测模型在输入缺陷影响因子后可以输出较准确的表征第一开发软件的预测缺陷信息,提高了数据处理的精确度。
40.s500:将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果。
41.进一步的,步骤s500还包括步骤s510:所述第一开发软件的缺陷预测结果包括所述第一开发软件的缺陷数量和缺陷等级
42.具体而言,所述软件缺陷预测模型的最优解为将所述第一缺陷影响因子输入训练完成的所述软件缺陷预测模型得到的结果,其包括表征所述第一开发软件的缺陷预测结果
的信息,优选的每个缺陷预测结果使用:缺陷数量,缺陷等级的形式进行表征。示例性的:假设项目共涉及3个功能模块a、b、c,我们利用缺陷影响因子xa、xb、xc作为输入所述软件缺陷预测模型,并设定模型有两个输出值w和v分别代表缺陷数量和缺陷等级,其中w的数值即为缺陷的具体数量,v的数值范围为1、2、3、4、5,从小到大依次表示建议缺陷、提示缺陷、一般缺陷、严重缺陷、致命缺陷。由于涉及3个功能模块,则gan模型共有6个输出wa、va、wb、vb、wc、vc,分别代表功能模块a的缺陷数量和缺陷等级、功能模块b的缺陷数量和缺陷等级、功能模块c的缺陷数量和缺陷等级。通过缺陷数量及缺陷等级进行分析可以判断缺陷的严重程度,进而为进行缺陷的规避和预防提供了重要的参考依据。
43.进一步的,所述方法还包括步骤s600:
44.s610:获得所述第一开发软件的多个模块的多个缺陷影响因子,其中,所述每个缺陷影响因子与所述多个模块中的每个模块相匹配;
45.s620:将所述多个影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述第一开发软件中多个模块的缺陷预测结果。
46.具体而言,使用和所述第一模块相同方式遍历所述第一开发软件其他所有模块,读取多个模块对应的所述多个缺陷影响因子;进一步的,将所述多个影响因子依次单个输入所述软件缺陷预测模型的输入层神经元,得到多个输出结果,多个输出结果的多个缺陷预测结果和多个模块一一对应。当遍历完所述第一开发软件的所有模块时停止,将得到多个所述缺陷预测结果依据缺陷数量和缺陷等级对模块进行排序,数量越高和缺陷等级越高排序越靠前,排序越靠前的模块出现缺陷的可能性越大,则在开发这些模块时需要根据所述缺陷预测结果进行预防。通过计算第一开发软件中所有模块缺陷预测结果,可以对第一开发软件后步开发过程可能出现的缺陷信息进行及时预防和处理,提高了软件开发效率。
47.进一步的,如图2所示,基于所述根据gan算法建立软件缺陷预测模型,步骤s400包括:
48.s410:对生成器进行训练;
49.s420:对判别器进行训练;
50.s430:当所述生成器和所述判别器训练完成后,根据gan算法将作为历史数据的所述第一缺陷影响因子输入模型进行训练,建立软件缺陷预测模型。
51.具体而言,初始化所述生成器和所述判断器的参数,使用历史项目的软件测试数据作为训练数据集训练初始化之后的所述生成器和所述判断器,所述生成器指的是输入一个向量,在本技术实施例中可以是所述缺陷影响因子,通过一个神经网络输出一个向量;所述判别器的输入就是对应所述生成器的输出,所述判别器的输出是一个标量,这个标量就是用来评判所述生成器输出数据的质量,数值越大表示数据的质量越高。即通过所述生成器生成一个数据,输入到判别器中,然后由判别器来判断这个输入是真实的数据还是由机器拟合生成的,如果没有骗过判别器,那么生成器继续训练,输出第二输出,再输入判别器,判别器同时也在在持续训练,对生成器的输出有了更严格的要求,进而实现了相互促进训练的目的,最终达到一个较优的训练结果。进一步的,当所述生成器和所述判别器训练完成后基于历史项目的软件测试数据训练所述软件缺陷预测模型,多组数据都包括:所述缺陷影响因子和标识历史信息中已出现的缺陷预测结果的标识信息,当模型达到收敛时停止训练,进而可以对输入的所述缺陷影响因子进行对应模块的缺陷预测。
52.进一步的,基于所述对生成器进行训练,步骤s410还包括:
53.s411:初始化生成器的参数θg,初始化判别器(discriminator)的参数θd;
54.s412:从数据集p
data
(x)中采样出m个样本点{x1,x2…
xm};
55.s413:获得m个向量{z1,z2…
zm};
56.s414:将{z1,z2…
zm}作为输入信息,获得m个生成的数据
57.s415:更新所述判别器的参数θd,领取极大值:
[0058][0059][0060]
具体而言,在进行训练之前,分别对所述生成器的参数θg进行初始化,对所述判别器的参数θd进行初始化,通过对所述生成器和所述判别器进行参数初始化可以加快模型收敛的速度和训练效果;进一步的,从历史项目数据集p
data
(x)中提取训练数据集,即所述m个样本点{x1,x2…
xm},其中,m为软件开发项目中的模块数量,x1,x1,x2…
xm分别表示m个模块对应的缺陷影响因子;进一步的,基于历史项目中的m个样本点{x1,x2…
xm}的缺陷影响因子对应的缺陷出现的数量以及缺陷等级构建缺陷影响因子和缺陷出现的数量以及等级之间的关系,使用m个向量{z1,z2…
zm}表征历史项目数据中缺陷影响因子和缺陷出现的数量以及等级之间的关系,其中,z1,z2…
zm分别表示不同的模块中缺陷影响因子和缺陷出现的数量以及等级之间的关系;进一步的,将{z1,z2…
zm}作为输入信息输入至所述生成器中,对m个向量{z1,z2…
zm}的进行处理,得到表征m个基于原始参数由机器生成的缺陷影响因子其中,分别表示m个模块对应的m个向量{z1,z2…
zm}的机器生成的缺陷影响因子,为对m个模块中第i个模块的zi使用所述生成器进行数据处理后得到的结果,所述判别器可以依据和真实缺陷影响因子的差异度判断数据质量,m个模块中第i个模块的zi对应的所述判别器输出结果为:依据依据
[0061][0062]
更新所述判别器的参数θd,完成初始化训练,其中,输出的最终判别总值,将所有的模块的判别数值依据公式进行计算,得到单个模块中的判别综合分值,分值越高,则相应的数值质量越好,则对应的生成器处理效果越好,通过上述公式计算得到一个最优值,进而完成所述生成器的初始化。
[0063]
进一步的,基于所述对判别器进行训练,步骤s420包括:
[0064]
s421:获得n个向量{z1,z2…zn
};
[0065]
s422:更新所述生成器的参数θg来最小化:
[0066][0067][0068]
具体而言,n个向量{z1,z2…zn
}为n个模块对应的表示不同的模块中缺陷影响因子和缺陷出现的数量以及等级之间的关系的数据;进一步的,通过
[0069][0070]
对所述生成器的参数进行更新,其中,g(zi)表示n个模块中第i个模块的zi使用所述生成器进行数据处理后得到的结果;进一步的,n个采样结果最好和m个采用结果不一致,可以提高模型的泛化能力,通过所述判别器和所述生成器的相互作用,进而使得所述生成器和所述判别器的输出结果都适应于当前的项目内容时完成初始化,进而保障后续输出结果的准确性和稳定性。
[0071]
综上所述,本技术实施例所提供的一种基于开发人员行为分析的软件缺陷预测方法及装置具有如下技术效果:
[0072]
1.本技术实施例通过提供了一种基于开发人员行为分析的软件缺陷预测方法及装置,解决了现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。通过分析软件开发人员对同一模块的浏览次数和代码修改行数,得到缺陷影响因子,进而依据历史的项目数据以及对应软件测试的缺陷数据基于gan算法建立软件缺陷预测模型,最后将缺陷因子输入缺陷预测模型,得到开发软件的缺陷预测结果,通过从开发软件的根源开发人员进行分析,进而基于开发人员行为推理得到的缺陷预测结果更加具有代表性,达到了提高缺陷预测结果准确性的技术效果。
[0073]
实施例二
[0074]
基于与前述实施例中一种基于开发人员行为分析的软件缺陷预测方法相同的发明构思,如图3所示,本技术实施例提供了一种基于开发人员行为分析的软件缺陷预测装置,其中,所述装置包括:
[0075]
第一获得单元11,所述第一获得单元11用于获得第一开发人员对第一开发软件中第一模块的存量文档浏览次数;
[0076]
第二获得单元12,所述第二获得单元12用于获得所述第一开发人员对所述第一开发软件中所述第一模块的代码修改行数;
[0077]
第三获得单元13,所述第三获得单元13用于根据所述第一模块的所述存量文档浏览次数和所述代码修改行数,获得第一缺陷影响因子;
[0078]
第一建立单元14,所述第一建立单元14用于根据gan算法建立软件缺陷预测模型;
[0079]
第四获得单元15,所述第四获得单元15用于将所述第一缺陷影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述软件缺陷预测模型的最优解,所述最优解包括所述第一开发软件的缺陷预测结果。
[0080]
进一步的,所述装置还包括:
[0081]
第五获得单元,所述第五获得单元用于获得所述第一开发软件的多个模块的多个缺陷影响因子,其中,所述每个缺陷影响因子与所述多个模块中的每个模块相匹配;
[0082]
第六获得单元,所述第六获得单元用于将所述多个影响因子作为所述软件缺陷预测模型的输入层神经元,获得所述第一开发软件中多个模块的缺陷预测结果。
[0083]
进一步的,所述装置还包括:
[0084]
第一数据单元,所述第一数据单元包括所述第一开发软件的缺陷预测结果包括所述第一开发软件的缺陷数量和缺陷等级。
[0085]
进一步的,所述装置还包括:
[0086]
第七获得单元,所述第七获得单元用于所述根据所述存量文档浏览次数和所述代码修改行数,获得缺陷影响因子,包括:
[0087]
xa=20*i j
[0088]
其中,所述xa为所述第一开发软件的所述缺陷影响因子;
[0089]
i为所述存量文档浏览次数;
[0090]
j为代码修改行数。
[0091]
进一步的,所述装置还包括:
[0092]
第一训练单元,所述第一训练单元用于对生成器进行训练;
[0093]
第二训练单元,所述第二训练单元用于对判别器进行训练;
[0094]
第三训练单元,所述第三训练单元用于当所述生成器和所述判别器训练完成后,根据gan算法将作为历史数据的所述第一缺陷影响因子输入模型进行训练,建立软件缺陷预测模型。
[0095]
进一步的,所述装置还包括:
[0096]
第一设定单元,所述第一设定单元用于初始化生成器的参数θg,初始化判别器(discriminator)的参数θd;
[0097]
第一采样单元,所述第一采样单元用于从数据集p
data
(x)中采样出m个样本点{x1,x2…
xm};
[0098]
第八获得单元,所述第八获得单元用于获得m个向量{z1,z2…
zm};
[0099]
第九获得单元,所述第九获得单元用于将{z1,z2…
zm}作为输入信息,获得m个生成的数据
[0100]
第一更新单元,所述第一更新单元用于更新所述判别器的参数θd,领取极大值:
[0101][0102][0103]
进一步的,所述装置还包括:
[0104]
第十获得单元,所述第十获得单元用于获得n个向量{z1,z2…zn
};
[0105]
第二更新单元,所述第二更新单元用于更新所述生成器的参数θg来最小化:
[0106][0107][0108]
示例性电子设备
[0109]
下面参考图4来描述本技术实施例的电子设备,
[0110]
基于与前述实施例中一种基于开发人员行为分析的软件缺陷预测方法相同的发明构思,本技术实施例还提供了一种基于开发人员行为分析的软件缺陷预测设备,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得装置以执行第一方面任一项所述的方法
[0111]
该电子设备300包括:处理器302、通信接口303、存储器301。可选的,电子设备300还可以包括总线架构304。其中,通信接口303、处理器302以及存储器301可以通过总线架构304相互连接;总线架构304可以是外设部件互连标(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。所述总线架构304可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0112]
处理器302可以是一个cpu,微处理器,asic,或一个或多个用于控制本技术方案程序执行的集成电路。
[0113]
通信接口303,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan),有线接入网等。
[0114]
存储器301可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线架构304与处理器相连接。存储器也可以和处理器集成在一起。
[0115]
其中,存储器301用于存储执行本技术方案的计算机执行指令,并由处理器302来控制执行。处理器302用于执行存储器301中存储的计算机执行指令,从而实现本技术上述实施例提供的一种基于开发人员行为分析的软件缺陷预测方法。
[0116]
可选的,本技术实施例中的计算机执行指令也可以称之为应用程序代码,本技术实施例对此不作具体限定。
[0117]
本技术实施例通过提供了一种基于开发人员行为分析的软件缺陷预测方法及装置,解决了现有技术中由于对开发人员的关注度不够,导致进行软件缺陷测的结果难以追根溯源,存在预测结果准确度不足的技术问题。通过分析软件开发人员对同一模块的浏览次数和代码修改行数,得到缺陷影响因子,进而依据历史的项目数据以及对应软件测试的
缺陷数据基于gan算法建立软件缺陷预测模型,最后将缺陷因子输入缺陷预测模型,得到开发软件的缺陷预测结果,通过从开发软件的根源开发人员进行分析,进而基于开发人员行为推理得到的缺陷预测结果更加具有代表性,达到了提高缺陷预测结果准确性的技术效果。
[0118]
本领域普通技术人员可以理解:本技术中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围,也不表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0119]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0120]
本技术实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0121]
本技术实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于终端中。可选地,处理器和存储媒介也可以设置于终端中的不同的部件中。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在
计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122]
尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术意图包括这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献