CN110825644A - 一种跨项目软件缺陷预测方法及其系统 - Google Patents

一种跨项目软件缺陷预测方法及其系统 Download PDF

Info

Publication number
CN110825644A
CN110825644A CN201911094169.7A CN201911094169A CN110825644A CN 110825644 A CN110825644 A CN 110825644A CN 201911094169 A CN201911094169 A CN 201911094169A CN 110825644 A CN110825644 A CN 110825644A
Authority
CN
China
Prior art keywords
project
test set
defect
marking
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911094169.7A
Other languages
English (en)
Other versions
CN110825644B (zh
Inventor
徐小龙
封功业
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201911094169.7A priority Critical patent/CN110825644B/zh
Priority to PCT/CN2020/070199 priority patent/WO2021093140A1/zh
Publication of CN110825644A publication Critical patent/CN110825644A/zh
Application granted granted Critical
Publication of CN110825644B publication Critical patent/CN110825644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • G06F18/24155Bayesian classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种跨项目软件缺陷预测方法及系统,针对跨项目方法的优势,融合朴素贝叶斯和最近邻的优点,将区别目标项目的所有项目的历史样本整合成训练集,结合朴素贝叶斯模型特点,使用0和0.5对目标项目中所有实例进行第一次标记,来将目标项目分为两类,值的大小表示缺陷的严重程度;利用最近邻模型的特质,二次标记目标实例,将所有实例标记为值0、0.5和1,根据标记结果,预测目标实例是否存在缺陷。

Description

一种跨项目软件缺陷预测方法及其系统
技术领域
本发明属于软件工程领域,具体涉及一种跨项目软件缺陷预测方法及其系统。
背景技术
IEEE24765-2017对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。因而,软件内部隐藏的缺陷有可能导致其在实际运行时产生难以预料的后果,轻则稍许影响软件质量,重则威胁到人们的生命财产安全。从软件本身、团队工作和技术问题等角度来看,软件缺陷的产生主要是由软件产品的特点和开发过程决定的,缺陷的存在不可避免。
虽然难以杜绝缺陷,但可以对其进行分析与监测,以尽量减少。软件缺陷预测是一种能够有效地挖掘软件中可能还遗留而尚未被发现的潜在缺陷及其分布情况的技术,软件缺陷预测方法通过挖掘软件历史仓库构建缺陷预测模型,从而对新的程序模块进行缺陷预测。程序模块根据实际测试需求可设置为包、文件、类或函数等。当测试资源足够时,该技术可以用来检查每个程序模块是否还有缺陷;测试资源不足时,可通过该技术合理分配资源来尽可能多发现缺陷。在提高软件质量、降低软件开发成本和开发过程的风险,改进软件开发过程等方面至关重要,是近年软件工程数据挖掘领域的研究热点之一。
目前大部分研究工作都集中关注同项目缺陷预测问题,即选择同一项目的部分数据集作为训练集来构建模型,并用剩余未选择的数据作为测试集来获得模型的预测性能。但在实际的软件开发场景中,需要进行缺陷预测的目标项目可能是一个新启动项目,或这个项目已有的训练数据较为稀缺.目前在缺陷预测训练数据的搜集过程中,虽然借助一些软件度量工具(例如Undetstand工具)可以较为容易地自动搜集到项目内程序模块的软件度量信息,但在随后分析这些模块内部是否含有缺陷时,则需要领域专家深入分析项目缺陷跟踪系统中的缺陷报告信息和版本控制系统中的代码修改日志,因此存在模块类型标记代价高昂且容易标记出错等问题。
一种简单的解决方案是直接使用其他项目(即源项目)已经搜集的高质量数据集来为目标项目构建缺陷预测模型。但不同项目的特征(例如所处的应用领域、采用的开发流程、使用的编程语言或开发人员的经验等)并不相同,所以源项目与目标项目的数据集存在很大的度量元取值分布差异,难以满足独立同分布的假设。因此在缺陷预测模型构建时,如何从源项目中迁移出与目标项目相关的知识是其面临的研究挑战,吸引了国内外研究人员的关注,并称该问题为跨项目缺陷预测问题。针对这一问题,研究人员一般借助迁移学习来缓解数据取值分布的差异性。迁移学习是对源项目数据集进行转换、学习并获取与目标项目最为相关的知识来用于模型构建的方法。
发明内容
本发明的目:为解决现有技术中存在的问题,本发明提供一种标记缺陷严重程度的多源跨项目软件缺陷预测方法及系统,针对跨项目方法的优势,融合朴素贝叶斯和最近邻的优点,实现对目标软件项目的缺陷预测。
技术方案:一种跨项目软件缺陷预测方法,包括以下步骤:
步骤1:从软件缺陷数据库中筛选出不同于目标项目T的所有项目,将其整合成一个源项目S,将源项目S作为训练集,目标项目T作为测试集;
步骤2:采用先min-max再自然对数变换相结合的变换方法,对训练集及测试集的各个特征列进行归一化处理,得到新的训练集P和测试集Q;
步骤3:采用训练集P构建朴素贝叶斯分类器,对测试集Q进行预测,朴素贝叶斯分类器输出测试集Q中每个实例存在缺陷的可能性值a;采用训练集P构建最近邻分类器,对测试集Q进行预测,最近邻分类器输出测试集Q中每个实例存在缺陷的可能性值b;
步骤4:利用可能性值a和可能性值b对测试集Q中所有实例进行标记,得到标记结果c,所述标记结果c的标记值为0时,表示实例没有缺陷,标记值为0.5时,表示实例存在普通缺陷,标记值为1时,表示实例存在严重缺陷;
步骤5:根据标记结果c,判断实例是否存在缺陷。
进一步的,所述源项目中不得有与目标项目中同项目的数据。
进一步的,所述步骤2中采用式(1)对训练集各个特征列进行归一化处理;
Figure BDA0002267782690000021
式中,向量Sj为源项目S中第j个度量元,其第i个程序模块对应的度量元取值为
Figure BDA0002267782690000022
max(Sj)和min(Sj)分别为向量Sj中的最大值和最小值。
同理,采用式(1)对测试集各个特征列进行归一化处理,生成新的测试集Q。
进一步的,所述步骤3中采用式(2)计算得到可能性值a:
Figure BDA0002267782690000023
式中,输入空间
Figure BDA0002267782690000024
为n维向量的集合,输出空间为类标记集合ψ={0,1},输入为特征向量x∈χ,x=(x1,x2,...,xn),即测试集Q中的每一个实例,输出为类标记ck∈ψ,ck=1表示实例存在缺陷,ck=0表示实例没有缺陷,X是定义在输入空间χ上的随机向量,Y是定义在输出空间ψ上的随机变量,P(X,Y)是X和Y的联合概率分布,训练集P={(x1,y1),(x2,y2),...,(xn,yn)}由P(X,Y)独立同分布产生。
进一步的,所述步骤3中计算可能性值b的步骤为:
最近邻分类器使用欧式距离来度量距离,欧式距离计算公式如下:
Figure BDA0002267782690000031
式中,xi,xj∈χ,
Figure BDA0002267782690000032
根据给定的距离度量,在训练集P中找出与测试集Q中每个实例x最近邻的实例向量xt,得到该实例向量xt所属的类yt,则可能性值b的计算公式如下:
b=yt (4)。
进一步的,所述步骤5中采用式(5)计算得到标记结果c:
式中,I为指示函数,当a≥0.5时I为1,否则I为0。
本发明还公开了一种跨项目软件缺陷预测方法的预测系统,包括:
源项目整合模块,用于对从软件缺陷数据库中筛选出不同于目标项目T的所有项目进行整合,得到源项目;
归一化处理模块,用于对源项目和目标项目中的各个特征列进行归一化处理,得到训练集P和测试集Q;
朴素贝叶斯分类器,用于对测试集Q进行预测,输出测试集Q中每个实例存在缺陷的可能性值a;
最近邻分类器,用于对测试集Q进行预测,最近邻分类器输出测试集Q中每个实例存在缺陷的可能性值b;
标记模块,用于利用可能性值a和可能性值b对测试集Q中所有实例进行标记,得到标记结果;
显示模块,用于根据标记结果,显示实例的缺陷程度,包括没有缺陷、普通缺陷和严重缺陷。
进一步的,采用训练集P构建朴素贝叶斯分类器。
进一步的,采用训练集P构建最近邻分类器。
有益效果:本发明具有以下优点:
(1)针对跨项目方法的优势,融合朴素贝叶斯和最近邻的优点,提出一种标记缺陷严重程度的多源跨项目软件缺陷预测方法及系统。该方法将区别目标项目的所有项目的历史样本整合成训练集,结合朴素贝叶斯模型特点,使用0和0.5对目标项目中所有实例进行第一次标记,来将目标项目分为两类,值的大小表示缺陷的严重程度;利用最近邻模型的特质,二次标记目标实例,将所有实例标记为值0、0.5和1,根据标记结果,预测目标实例是否存在缺陷。
(2)本发明设计的跨项目软件缺陷预测方法中,考虑了缺陷严重程度这一属性,提出一种实例缺陷严重程度的一种标记方法,以此标记结果进行缺陷预测;
(3)本发明设计的跨项目软件缺陷预测方法,在测试资源一定时,可以根据实例缺陷严重程度的标记值大小优先测试缺陷较严重的实例。
(4)本发明设计的跨项目软件缺陷预测方法算法结构简单,时间复杂度低。
附图说明
图1是本发明所设计跨项目软件缺陷预测方法的流程示意图;
图2是目标实例缺陷严重程度标记方法的流程示意图。
具体实施方式
现结合附图和实施例进一步阐述本发明的技术方案。
如图1所示,本发明的一种标记缺陷严重程度的多源跨项目软件缺陷预测方法及系统,将跨项目方法的优势融合了朴素贝叶斯和最近邻的优点,将区别目标项目的所有项目的历史样本整合成训练集,考虑了缺陷严重程度这一属性,提出一种实例缺陷严重程度的一种标记方法。结合朴素贝叶斯模型特点,使用0和0.5对目标项目中所有实例进行第一次标记,将目标项目分为两类,值的大小表示缺陷的严重程度;利用最近邻模型的特质,二次标记目标实例,将所有实例标记为值0、0.5和1,根据标记结果,预测目标实例是否存在缺陷。该方法在测试资源一定时,可以根据实例缺陷严重程度的标记值大小优先测试缺陷较严重的实例。
实施例1:
本实施例的跨项目软件缺陷预测方法,用于针对目标软件项目进行缺陷预测,实际应用过程当中,具体包括如下步骤:
步骤1:从软件缺陷数据库中筛选出区别于目标项目的所有项目,将其整合成一个源项目S,将源项目S作为训练集,目标项目T作为测试集,进入步骤2;此处“区别于”是指训练集中不得有与测试集同项目的数据,以PROMISE数据库为例,该数据库统计信息如表1所示,若目标项目是ant-1.3,则源项目S中不得包含项目ant-1.4、ant-1.5、ant-1.6、ant-1.7中每个实例的标签。
表1Promise数据集的统计信息
Figure BDA0002267782690000041
Figure BDA0002267782690000051
表中,Dataset列是Promise软件缺陷数据库中各个软件项目数据集的名称,#Class列为对应软件项目数据集中类文件的数量,#Defect列为对应软件项目数据集中缺陷类的数量。考虑实际情况,由跨项目的定义可知,假设软件项目A.1和A.2是A项目的两个不同版本,如果目标项目为A.1,那么源项目中不能有A项目的其他版本号,如A.2。
步骤2:按如下设计,对训练集S及测试集T的各个特征列进行归一化处理,得到新的训练集P和测试集Q,进入步骤3;
采用先min-max再自然对数变换相结合的变换方法,归一化的公式如下:
Figure BDA0002267782690000052
其中,向量Sj为源项目S中第j个度量元,其第i个程序模块对应的度量元取值为
Figure BDA0002267782690000053
max(Sj)和min(Sj)分别为向量Sj中的最大值和最小值。
步骤3:按如下设计,采用训练集P构建朴素贝叶斯分类器,对测试集Q进行预测,朴素贝叶斯分类器输出测试集中每个实例存在缺陷的可能性值a,进入步骤5;
输入空间
Figure BDA0002267782690000054
为n维向量的集合,输出空间为类标记集合ψ={0,1}。输入为特征向量x∈χ,x=(x1,x2,...,xn),即测试集Q中的每一个实例,输出为类标记ck∈ψ,ck=1表示实例存在缺陷,ck=0表示实例没有缺陷。X是定义在输入空间χ上的随机向量,Y是定义在输出空间ψ上的随机变量。P(X,Y)是X和Y的联合概率分布。训练数据集P={(x1,y1),(x2,y2),...,(xn,yn)}由P(X,Y)独立同分布产生。根据以上条件,值a的计算公式如下:
Figure BDA0002267782690000061
步骤4:按如下设计,采用训练集P构建最近邻分类器,对测试集Q进行预测,分类器输出测试集中每个实例存在缺陷的可能性值b,进入步骤5;
最近邻分类器使用欧式距离来度量距离,欧式距离计算公式如下:
Figure BDA0002267782690000062
其中,xi,xj∈χ,
根据给定的距离度量,在训练集P中找出与测试集Q中每个实例x最近邻的实例向量xt,该实例所属的类为yt,则值b的计算公式如下:
b=yt (4)
步骤5:具体如图2所示,利用a和b的值对测试集中所有实例进行标记,标记值有0、0.5和1,标记值的大小表示缺陷的严重程度,按如下公式,得到标记结果c:
Figure BDA0002267782690000064
其中,I为指示函数,即当a≥0.5时I为1,否则I为0。
步骤6:若某个实例的标记结果c为0,则预测该实例没有缺陷;否则,预测该实例存在缺陷。
实施例2:
本实施例的一种跨项目软件缺陷预测方法的预测系统,包括:
源项目整合模块,用于对从软件缺陷数据库中筛选出不同于目标项目T的所有项目进行整合,得到源项目;
归一化处理模块,用于对源项目和目标项目中的各个特征列进行归一化处理,得到训练集P和测试集Q;
朴素贝叶斯分类器,用于对测试集Q进行预测,输出测试集Q中每个实例存在缺陷的可能性值a;
最近邻分类器,用于对测试集Q进行预测,最近邻分类器输出测试集Q中每个实例存在缺陷的可能性值b;
标记模块,用于利用可能性值a和可能性值b对测试集Q中所有实例进行标记,得到标记结果;
显示模块,用于根据标记结果,显示实例的缺陷程度,包括没有缺陷、普通缺陷和严重缺陷。
本实施例采用训练集P分别构建得到朴素贝叶斯分类器和最近邻分类器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (9)

1.一种跨项目软件缺陷预测方法,其特征在于:包括以下步骤:
步骤1:从软件缺陷数据库中筛选出不同于目标项目T的所有项目,将其整合成一个源项目S,将源项目S作为训练集,目标项目T作为测试集;
步骤2:采用先min-max再自然对数变换相结合的变换方法,对训练集及测试集的各个特征列进行归一化处理,得到新的训练集P和测试集Q;
步骤3:采用训练集P构建朴素贝叶斯分类器,对测试集Q进行预测,朴素贝叶斯分类器输出测试集Q中每个实例存在缺陷的可能性值a;采用训练集P构建最近邻分类器,对测试集Q进行预测,最近邻分类器输出测试集Q中每个实例存在缺陷的可能性值b;
步骤4:利用可能性值a和可能性值b对测试集Q中所有实例进行标记,得到标记结果c,所述标记结果c的标记值为0时,表示实例没有缺陷,标记值为0.5时,表示实例存在普通缺陷,标记值为1时,表示实例存在严重缺陷;
步骤5:根据标记结果c,判断实例是否存在缺陷。
2.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于:所述源项目中不得有与目标项目中同项目的数据。
3.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于:所述步骤2中采用式(1)对训练集的各个特征列进行归一化处理;
Figure FDA0002267782680000011
式中,向量Sj为源项目S中第j个度量元,其第i个程序模块对应的度量元取值为max(Sj)和min(Sj)分别为向量Sj中的最大值和最小值;
采用式(1)对测试集的各个特征列进行归一化处理,生成测试集Q。
4.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于:所述步骤3中采用式(2)计算得到可能性值a:
Figure FDA0002267782680000013
式中,输入空间
Figure FDA0002267782680000014
为n维向量的集合,输出空间为类标记集合ψ={0,1},输入为特征向量x∈χ,x=(x1,x2,...,xn),即测试集Q中的每一个实例,输出为类标记ck∈ψ,ck=1表示实例存在缺陷,ck=0表示实例没有缺陷,X是定义在输入空间χ上的随机向量,Y是定义在输出空间ψ上的随机变量,P(X,Y)是X和Y的联合概率分布,训练集P={(x1,y1),(x2,y2),...,(xn,yn)}由P(X,Y)独立同分布产生。
5.根据权利要求4所述的一种跨项目软件缺陷预测方法,其特征在于:所述步骤3中计算可能性值b的步骤为:
最近邻分类器使用欧式距离来度量距离,欧式距离计算公式如下:
Figure FDA0002267782680000021
式中,xi,xj∈χ,
Figure FDA0002267782680000022
根据给定的距离度量,在训练集P中找出与测试集Q中每个实例x最近邻的实例向量xt,得到该实例向量xt所属的类yt,则可能性值b的计算公式如下:
b=yt (4)。
6.根据权利要求1所述的一种跨项目软件缺陷预测方法,其特征在于:所述步骤5中采用式(5)计算得到标记结果c:
Figure FDA0002267782680000023
式中,I为指示函数,当a≥0.5时I为1,否则I为0。
7.基于权利要求1至6任意一项所述的一种跨项目软件缺陷预测方法的预测系统,其特征在于:包括:
源项目整合模块,用于对从软件缺陷数据库中筛选出不同于目标项目T的所有项目进行整合,得到源项目;
归一化处理模块,用于对源项目和目标项目中的各个特征列进行归一化处理,得到训练集P和测试集Q;
朴素贝叶斯分类器,用于对测试集Q进行预测,输出测试集Q中每个实例存在缺陷的可能性值a;
最近邻分类器,用于对测试集Q进行预测,最近邻分类器输出测试集Q中每个实例存在缺陷的可能性值b;
标记模块,用于利用可能性值a和可能性值b对测试集Q中所有实例进行标记,得到标记结果;
显示模块,用于根据标记结果,显示实例的缺陷程度,包括没有缺陷、普通缺陷和严重缺陷。
8.根据权利要求7所述的预测系统,其特征在于:采用训练集P构建朴素贝叶斯分类器。
9.根据权利要求7所述的预测系统,其特征在于:采用训练集P构建最近邻分类器。
CN201911094169.7A 2019-11-11 2019-11-11 一种跨项目软件缺陷预测方法及其系统 Active CN110825644B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911094169.7A CN110825644B (zh) 2019-11-11 2019-11-11 一种跨项目软件缺陷预测方法及其系统
PCT/CN2020/070199 WO2021093140A1 (zh) 2019-11-11 2020-01-03 一种跨项目软件缺陷预测方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911094169.7A CN110825644B (zh) 2019-11-11 2019-11-11 一种跨项目软件缺陷预测方法及其系统

Publications (2)

Publication Number Publication Date
CN110825644A true CN110825644A (zh) 2020-02-21
CN110825644B CN110825644B (zh) 2021-06-11

Family

ID=69553814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911094169.7A Active CN110825644B (zh) 2019-11-11 2019-11-11 一种跨项目软件缺陷预测方法及其系统

Country Status (2)

Country Link
CN (1) CN110825644B (zh)
WO (1) WO2021093140A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367801A (zh) * 2020-02-29 2020-07-03 杭州电子科技大学 一种面向跨公司软件缺陷预测的数据变换方法
CN111581116A (zh) * 2020-06-16 2020-08-25 江苏师范大学 一种基于分层数据筛选的跨项目软件缺陷预测方法
CN111881048A (zh) * 2020-07-31 2020-11-03 武汉理工大学 一种跨项目软件老化缺陷预测方法
CN112199287A (zh) * 2020-10-13 2021-01-08 北京理工大学 基于强化混合专家模型的跨项目软件缺陷预测方法
CN112214406A (zh) * 2020-10-10 2021-01-12 广东石油化工学院 一种基于选择性伪标记子空间学习的跨项目缺陷预测方法
CN112306730A (zh) * 2020-11-12 2021-02-02 南通大学 基于历史项目伪标签生成的缺陷报告严重程度预测方法
CN112463640A (zh) * 2020-12-15 2021-03-09 武汉理工大学 一种基于联合概率域适应的跨项目软件老化缺陷预测方法
CN113157564A (zh) * 2021-03-17 2021-07-23 江苏师范大学 一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法
CN114328277A (zh) * 2022-03-11 2022-04-12 广东省科技基础条件平台中心 一种软件缺陷预测和质量分析方法、装置、设备及介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114676298B (zh) * 2022-04-12 2024-04-19 南通大学 一种基于质量过滤器的缺陷报告标题自动生成方法
CN114706780A (zh) * 2022-04-13 2022-07-05 北京理工大学 一种基于Stacking集成学习的软件缺陷预测方法
CN114924962B (zh) * 2022-05-17 2024-05-31 北京航空航天大学 一种跨项目软件缺陷预测数据选择方法
CN115269377B (zh) * 2022-06-23 2023-07-11 南通大学 一种基于优化实例选择的跨项目软件缺陷预测方法
CN115269378B (zh) * 2022-06-23 2023-06-09 南通大学 一种基于域特征分布的跨项目软件缺陷预测方法
CN116881172B (zh) * 2023-09-06 2024-02-23 南昌航空大学 一种基于图卷积网络的软件缺陷预测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025503A (zh) * 2017-04-18 2017-08-08 武汉大学 基于迁移学习和缺陷数量信息的跨公司软件缺陷预测方法
CN107133176A (zh) * 2017-05-09 2017-09-05 武汉大学 一种基于半监督聚类数据筛选的跨项目缺陷预测方法
CN107391369A (zh) * 2017-07-13 2017-11-24 武汉大学 一种基于数据筛选和数据过采样的跨项目缺陷预测方法
US20180150742A1 (en) * 2016-11-28 2018-05-31 Microsoft Technology Licensing, Llc. Source code bug prediction
CN108304316A (zh) * 2017-12-25 2018-07-20 浙江工业大学 一种基于协同迁移的软件缺陷预测方法
CN108763283A (zh) * 2018-04-13 2018-11-06 南京邮电大学 一种不平衡数据集过采样方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130097103A1 (en) * 2011-10-14 2013-04-18 International Business Machines Corporation Techniques for Generating Balanced and Class-Independent Training Data From Unlabeled Data Set

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180150742A1 (en) * 2016-11-28 2018-05-31 Microsoft Technology Licensing, Llc. Source code bug prediction
CN107025503A (zh) * 2017-04-18 2017-08-08 武汉大学 基于迁移学习和缺陷数量信息的跨公司软件缺陷预测方法
CN107133176A (zh) * 2017-05-09 2017-09-05 武汉大学 一种基于半监督聚类数据筛选的跨项目缺陷预测方法
CN107391369A (zh) * 2017-07-13 2017-11-24 武汉大学 一种基于数据筛选和数据过采样的跨项目缺陷预测方法
CN108304316A (zh) * 2017-12-25 2018-07-20 浙江工业大学 一种基于协同迁移的软件缺陷预测方法
CN108763283A (zh) * 2018-04-13 2018-11-06 南京邮电大学 一种不平衡数据集过采样方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SINNO JIALIN PAN: "Domain Adaptation via Transfer", 《IEEE TRANSACTIONS ON NEURAL NETWORKS》 *
程铭 等: "基于迁移学习的软件缺陷预测", 《电子学报》 *
陈翔 等: "跨项目软件缺陷预测方法研究综述", 《计算机学报》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367801A (zh) * 2020-02-29 2020-07-03 杭州电子科技大学 一种面向跨公司软件缺陷预测的数据变换方法
CN111581116A (zh) * 2020-06-16 2020-08-25 江苏师范大学 一种基于分层数据筛选的跨项目软件缺陷预测方法
CN111581116B (zh) * 2020-06-16 2023-12-29 江苏师范大学 一种基于分层数据筛选的跨项目软件缺陷预测方法
CN111881048A (zh) * 2020-07-31 2020-11-03 武汉理工大学 一种跨项目软件老化缺陷预测方法
CN112214406A (zh) * 2020-10-10 2021-01-12 广东石油化工学院 一种基于选择性伪标记子空间学习的跨项目缺陷预测方法
CN112199287B (zh) * 2020-10-13 2022-03-29 北京理工大学 基于强化混合专家模型的跨项目软件缺陷预测方法
CN112199287A (zh) * 2020-10-13 2021-01-08 北京理工大学 基于强化混合专家模型的跨项目软件缺陷预测方法
CN112306730B (zh) * 2020-11-12 2021-11-30 南通大学 基于历史项目伪标签生成的缺陷报告严重程度预测方法
CN112306730A (zh) * 2020-11-12 2021-02-02 南通大学 基于历史项目伪标签生成的缺陷报告严重程度预测方法
CN112463640A (zh) * 2020-12-15 2021-03-09 武汉理工大学 一种基于联合概率域适应的跨项目软件老化缺陷预测方法
CN112463640B (zh) * 2020-12-15 2022-06-03 武汉理工大学 一种基于联合概率域适应的跨项目软件老化缺陷预测方法
CN113157564A (zh) * 2021-03-17 2021-07-23 江苏师范大学 一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法
CN113157564B (zh) * 2021-03-17 2023-11-07 江苏师范大学 一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法
CN114328277A (zh) * 2022-03-11 2022-04-12 广东省科技基础条件平台中心 一种软件缺陷预测和质量分析方法、装置、设备及介质

Also Published As

Publication number Publication date
WO2021093140A1 (zh) 2021-05-20
CN110825644B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN110825644B (zh) 一种跨项目软件缺陷预测方法及其系统
US10949338B1 (en) Automated software bug discovery and assessment
CN110046087B (zh) 非接触式测试平台
US11093519B2 (en) Artificial intelligence (AI) based automatic data remediation
Meng et al. Semi-supervised software defect prediction model based on tri-training.
CN108345544B (zh) 一种基于复杂网络的软件缺陷分布影响因素分析方法
US9195952B2 (en) Systems and methods for contextual mapping utilized in business process controls
US20200053108A1 (en) Utilizing machine intelligence to identify anomalies
CN107239798B (zh) 一种面向软件缺陷个数预测的特征选择方法
Chang et al. Integrating in-process software defect prediction with association mining to discover defect pattern
Maggo et al. A machine learning based efficient software reusability prediction model for java based object oriented software
Shankar et al. Towards observability for production machine learning pipelines
US11886779B2 (en) Accelerated simulation setup process using prior knowledge extraction for problem matching
Fazayeli et al. Towards auto-labelling issue reports for pull-based software development using text mining approach
CN113157564A (zh) 一种基于特征分布对齐和邻域实例选择的跨项目缺陷预测方法
CN111767324B (zh) 一种智能关联的自适应数据分析方法及装置
Al-Nusirat et al. Dynamic detection of software defects using supervised learning techniques
Berman et al. Active learning to improve static analysis
GB2615180A (en) Systems and methods for detecting manufacturing anomalies
CN113837554B (zh) 基于多模态关键信息匹配的食品安全风险识别方法及系统
CN114706780A (zh) 一种基于Stacking集成学习的软件缺陷预测方法
CN111221704B (zh) 一种确定办公管理应用系统运行状态的方法及系统
CN111913872A (zh) 一种基于缺陷预测的软件静态检查警告排序优化方法
CN113496332B (zh) 工业互联网故障预测方法和系统
Bahaweres et al. Combining PCA and SMOTE for software defect prediction with visual analytics approach

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant