CN111177011A - 软件免测的预测方法、装置、设备及存储介质 - Google Patents

软件免测的预测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111177011A
CN111177011A CN202010002751.2A CN202010002751A CN111177011A CN 111177011 A CN111177011 A CN 111177011A CN 202010002751 A CN202010002751 A CN 202010002751A CN 111177011 A CN111177011 A CN 111177011A
Authority
CN
China
Prior art keywords
software
test
free
free classification
classification prediction
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.)
Pending
Application number
CN202010002751.2A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010002751.2A priority Critical patent/CN111177011A/zh
Publication of CN111177011A publication Critical patent/CN111177011A/zh
Pending legal-status Critical Current

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/3668Software testing
    • G06F11/3672Test management
    • 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/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (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)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及一种软件免测的预测方法、装置、设备及存储介质。所述方法包括:获取提测软件的特征信息;将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果。通过获取提测软件的特征信息以及利用训练的免测分类预测模型进行免测分类预测处理,可以在软件提测的源头判断软件是否可以免测,这种提测分析前置的方式,可以在免测分类预测结果为免测时,直接发布上线,避免软件在每个迭代周期都经过测试,提高软件上线效率,便于敏捷开发管理,实现了软件的前置量化测试,达到人力成本和软件质量的最优平衡。提高了软件免测的预测可靠性,并实现了软件测试的基线化。

Description

软件免测的预测方法、装置、设备及存储介质
技术领域
本公开涉及软件测试领域,尤其涉及一种软件免测的预测方法、装置、设备及存储介质。
背景技术
近年来,随着人工智能技术研究和进步,人工智能技术在多个领域得到广泛应用,其中,在软件测试的自动化发展趋势下,人工智能在软件测试领域的应用将会越来越受到关注。
软件测试是一种用来鉴定软件的正确性、完整性、安全性和质量的过程。在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件缺陷产生于开发人员的编码过程,由于需求理解不正确、软件开发过程不合理或开发人员的经验不足,均有可能产生软件缺陷,但是如果每个迭代周期都经过测试的话也会影响产品的上线时间,这在当下互联网时代的迭代周期中并不可取。
发明内容
有鉴于此,本公开提出了一种软件免测的预测方法、装置、设备及存储介质。可以避免软件在每个迭代周期都需要测试,提高软件上线效率。
根据本公开的一方面,提供了一种软件免测的预测方法,所述方法包括:
获取提测软件的特征信息,所述特征信息为表征软件代码质量的信息;
将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
其中,所述免测分类预测模型是基于训练样本集进行机器学习训练确定的,所述训练样本集包括样本软件的特征信息以及相应的免测分类标签。
根据本公开的另一方面,提供了一种软件免测的预测装置,所述装置包括:
特征信息获取模块,用于获取提测软件的特征信息,所述特征信息为表征软件代码质量的信息;
免测分类预测结果获取模块,用于将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
其中,所述免测分类预测模型是基于训练样本集进行机器学习训练确定的,所述训练样本集包括样本软件的特征信息以及相应的免测分类标签。
根据本公开的另一方面,提供了一种软件免测的预测设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
通过获取提测软件的特征信息以及利用训练的免测分类预测模型进行免测分类预测处理,根据本公开实施例的软件免测的预测方法、装置、设备及存储介质,可以实现软件测试左移,即可以在软件提测的源头判断软件是否可以免测,这种提测分析前置的方式,可以在免测分类预测结果为免测时,直接发布上线,避免软件在每个迭代周期都经过测试,提高软件上线效率,便于敏捷开发管理,实现了软件的前置量化测试,达到人力成本和软件质量的最优平衡。
利用免测分类预测模型获取所述免测分类预测结果,受人为影响小,提高了软件免测的预测可靠性。并且,通过免测分类预测模型进行免测分类预测处理,易于将所述特征信息(影响免测的信息)与软件版本质量映射,便于软件特征信息的基线建设,有利于软件版本质量的管理,实现了软件测试的基线化。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出本公开一实施例提供的一种应用环境的示意图。
图2示出根据本公开一实施例的软件免测的预测方法的流程图。
图3示出根据本公开一实施例的获取提测软件的特征信息的方法流程图。
图4示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。
图5示出根据本公开一实施例的获取所述训练样本集的方法流程图。
图6示出根据本公开一实施例的免测分类预测模型的构建与预测示意图。
图7示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。
图8示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。
图9示出根据本公开一实施例的修正所述免测分类预测模型的方法流程图。
图10示出根据本公开一实施例的软件免测的预测装置的框图。
图11是根据一示例性实施例示出的一种用于软件免测的预测装置1100的框图。
图12是根据一示例性实施例示出的一种用于软件免测的预测的装置1200的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
近年来,随着人工智能技术研究和进步,人工智能技术在多个领域得到广泛应用,本公开实施例提供的方案涉及人工智能的机器学习/深度学习等技术,具体通过如下实施例进行说明:
请参阅图1,图1示出本公开一实施例提供的一种应用系统的示意图。所述应用系统可以管理软件版本开发、提测、缺陷提交、回归测试、发布整个生命周期的操作。在一个示例中,所述应用系统可以是Request流水线平台REQ(或称软件研发提测流程管理平台)。如图1所示,该应用系统至少可以包括服务器01和终端02。
本公开实施例中,所述服务器01可以包括独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本公开实施例中,所述终端02可以包括智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、智能可穿戴设备等类型的实体设备。实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本公开实施例中终端01上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
本说明书实施例中,上述终端02以及服务器01间可以进行通信交互,以实现软件版本开发、提测、缺陷提交、回归测试、发布整个生命周期的操作。
本说明书实施例中,上述终端01以及服务器02可以通过有线或无线通信方式进行直接或间接地连接,本申请对此不作限定。
本说明书实施例中,为了提高软件上线效率,所述应用系统还可以在提测时,进行软件的免测分类预测处理,避免软件在每个迭代周期都经过测试,提高软件上线效率,便于敏捷开发管理。相应的,上述服务器01可以进行免测分类预测模型的训练处理,将训练好的免测分类预测模型发送给终端02。
所述终端02可以用于提供面向用户的软件免测的预测服务,具体的,可以基于服务器01训练好的免测分类预测模型实现软件免测的预测处理。
此外,需要说明的是,在实际应用中,免测分类预测模型的训练处理也可以在终端02中实现,本公开实施例中,优选的,在服务器01中实现免测分类预测模型的训练处理,以便减轻终端的数据处理压力,改善面向用户的终端的设备性能。软件免测的预测服务也可以在服务器01中实现。
在一个具体的实施例中,服务器02为分布式系统时,该分布式系统可以为区块链系统,分布式系统为区块链系统时,可以由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。具体的,区块链系统中各节点的功能,涉及的功能可以包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
基于上述应用系统,以下介绍软件免测的预测方法实施例。具体地,图2示出根据本公开一实施例的软件免测的预测方法的流程图。如图2所示,所述方法可以包括:
步骤S21,获取提测软件的特征信息。
本说明书实施例中,所述特征信息可以为表征软件代码质量的信息。例如,所述特征信息可以包括开发人员信息、软件修改次数、软件的代码变更信息等。本公开对所述特征信息的具体内容不作限定。
本说明书实施例中,所述提测软件可以是指待测试的软件。所述提测软件可以是项目的初始版本软件,也可以是项目的变更版本软件(或称迭代版本软件)。
需要说明的是,在所述特征信息仅包括开发人员信息时,所述免测分类预测模型可以用于所述初始版本软件的免测分类预测处理。对于所述变更版本软件,不对所述特征信息进行限定,所述免测分类预测模型均可以用于所述变更版本软件的免测分类预测处理。
在实际应用中,可以获取所述提测软件的特征信息,例如,若所述特征信息包括软件的代码变更信息,可以通过扫描所述提测软件的代码,比如,可以扫描所述提测软件的代码以及软件上次版本的代码,可以抽取出所述提测软件的特征信息,比如,代码新增行数、代码循环处变更行数、代码条件判断处变更行数等。
步骤S23,将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
所述免测分类预测模型可以是基于训练样本集进行机器学习训练确定的,所述训练样本集可以包括样本软件的特征信息以及相应的免测分类标签。所述免测分类标签可以包括免测(可以免测)、非免测(不可以免测)。所述免测分类预测结果可以包括免测(可以免测)、非免测(不可以免测)。
本说明书实施例中,可以将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果。进一步地,在所述免测分类预测结果为免测时,可以确定所述提测软件不需要测试,可以直接发布上线。可选地,可以将所述提测软件对应的免测分类预测结果保存在REQ免测记录中。所述REQ免测记录可以设置在服务器01中。
通过获取提测软件的特征信息以及利用训练的免测分类预测模型进行免测分类预测处理,根据本公开实施例的软件免测的预测方法,可以实现软件测试左移,即可以在软件提测的源头判断软件是否可以免测,这种提测分析前置的方式,可以在免测分类预测结果为免测时,直接发布上线,避免软件在每个迭代周期都经过测试,提高软件上线效率,便于敏捷开发管理,实现了软件的前置量化测试,达到人力成本和软件质量的最优平衡。
利用免测分类预测模型获取所述免测分类预测结果,受人为影响小,提高了软件免测的预测可靠性。并且,通过免测分类预测模型进行免测分类预测处理,易于将所述特征信息(影响免测的信息)与软件版本质量映射,便于软件特征信息的基线建设,有利于软件版本质量的管理,实现了软件测试的基线化。
图3示出根据本公开一实施例的获取提测软件的特征信息的方法流程图。如图3所示,在一种可能的实现方式中,所述步骤S21可以包括:
步骤S211,获取提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种;
步骤S213,将所述提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种作为所述提测软件的特征信息。
所述代码变更信息可以包括以下中的一种或多种:代码新增行数、代码修改行数、代码删除行数、代码修改次数、代码循环处变更行数、代码条件判断处变更行数。本公开对此不作限定,任何能够表示代码变更的信息均可以作为所述代码变更信息。
所述开发人员信息可以包括开发人员数、开发人员的经验值等,所述开发人员的经验值可以包括开发人员的开发年数或月数。
所述代码依赖深度信息可以包括所述代码变更信息对应的代码依赖深度信息。在一个示例中,所述代码依赖深度信息可以包括代码变更信息对应的代码继承的类的相关信息,例如,代码变更信息对应的代码继承的类的个数,具体的,代码变更信息对应的代码继承的类可以为该代码变更信息中变更代码所继承的类;本说明书实施例中,代码变更信息对应的代码继承的类的个数越多,所述代码变更信息对应的代码依赖深度越强。
在一些情况下,所述特征信息可能不是数值,而是某种程度或者趋势的字符化表征,这种情况下,可以通过预设的规则使得该字符化表征的内容量化为一特定值或一特定数值范围。进而,后续可以利用该量化的值或数值范围确定相应的特征信息。在一个示例中,可能某个维度的值为“强”,则可以量化该字符为其ASCII码的二进制值、十进制值或十六进制值。
本说明书实施例中,可以获取提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种作为所述提测软件的特征信息。
通过特征信息的设置,可以形成软件特征信息的基线建设,并且,在特征信息包括开发人员信息时,可以建立软件开发人员的质量基线,提高开发人员的缺陷防范意识,有利于保障软件的长期质量。以及,在所述特征信息包括所述代码变更信息时,相比较传统软件提测,可以对代码变更具有明确的量化分析,将代码变更分析前置到提测时,可以避免受人为经验和测试用例的影响,及时在源头把控评估软件质量。
图4示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。如图4所示,在一种可能的实现方式中,所述方法可以包括:
步骤S41,获取所述训练样本集。
在软件的迭代周期内,软件会存在多个软件版本,所述多个软件版本可以作为软件的历史数据存储在软件历史版本库(或称为业务代码版本库)中,所述软件的历史数据可以包括软件版本对应的提测时间、软件版本对应的代码变更信息、软件版本对应的代码依赖深度信息、软件版本对应的开发人员信息等。其中,可以利用版本控制工具SVN/Git(Subversion/Git)实现对所述多个软件版本的管理。所述软件历史版本库可以设置代码版本管理平台中,所述代码版本管理平台可以设置在所述REQ的服务器01中。所述多个软件版本对应的提测时间和软件版本对应的免测记录可以保存在REQ免测记录中。
本说明书实施例中,可以从所述软件历史版本库以及所述REQ免测记录中,获取所述训练样本集。
在一中可能的实现方式中,如图5所示,所述步骤S41可以包括:
步骤S411,获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息。
本说明书实施例中,可以从所述软件历史版本库中,获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息。例如,若所述特征信息包括软件的代码变更信息、开发人员信息和代码依赖深度信息,可以从所述软件历史版本库,获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息。进一步地,可以对所述获取的所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息进行数据清洗,例如,如果获取的所述样本软件开发人员信息错误,可以修改所述样本软件开发人员信息;或者,某一个样本软件缺少样本软件开发人员信息,可以为所述某一个样本软件添加样本软件开发人员信息。可以将数据清洗后的所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息作为所述样本软件的特征信息。
可选地,可以将所述样本软件的特征信息存入CSV(Comma-Separated Values)文件。需要说明的是,所述样本软件开发人员信息也可以从开发人员信息数据库中获取。所述开发人员信息数据库可以设置在所述REQ的服务器01中。
在一个示例中,可以根据软件单位,抽取所述样本软件,可以根据抽取的所述样本软件,获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息。其中,所述软件单位可以包括软件的程序模块、软件文件、软件函数中的一个或多个。例如,所述软件单位为软件文件,可以抽取每一个软件文件作为所述样本软件,获取每一个软件文件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息。
如图6所示,所述软件单位为软件的程序模块,可以从软件历史版本库中抽取程序模块作为所述样本软件,可以对所述程序模块进行度量标记得到特征信息,即可以获取每一个程序模块的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息。通过以不同软件单位抽取样本软件,可以获取不同精细程度的训练样本集,满足多种免测分类训练的需求。
步骤S413,获取所述样本软件相应的免测分类标签。
本说明书实施例中,可以从所述REQ免测记录中,获取所述样本软件对应的免测分类预测结果作为所述样本软件相应的免测分类标签,也可以获取对应的提测时间。可选地,可以将获取的所述样本软件相应的免测分类标签保存到所述CSV文件中。
步骤S415,将所述样本软件的特征信息以及所述样本软件相应的免测分类标签作为所述训练样本集。
在一个示例中,可以根据提测时间,将所述样本软件的特征信息以及所述样本软件相应的免测分类标签关联,并可以将关联后的所述样本软件的特征信息以及所述样本软件相应的免测分类标签作为所述训练样本集。
步骤S43,划分所述训练样本集,得到训练数据集和验证数据集。
所述训练数据集可以用于所述免测分类预测模型的训练数据,所述验证数据集可以用于对所述免测分类预测模型的交叉验证。
本说明书实施例中,可以根据预设比例,划分所述训练样本集,得到训练数据集和验证数据集。例如,所述预设比例为80%,可以选择所述训练样本集的80%的样本作为所述训练数据集,选择所述训练样本集的20%的样本作为所述验证数据集,本公开对此不作限定,可以根据实际需求设置所述预设比例。
步骤S45,基于所述训练数据集中的样本软件的特征信息,使用预设机器学习模型进行免测分类训练,在免测分类训练中调整所述预设机器学习模型的模型参数至所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签匹配,得到当前的免测分类预测模型。
在一个示例中,所述预设机器学习模型可以为SVM(Support Vector Machines,支持向量机)模型或SVM/C4.5决策树模型,所述模型参数可以包括所述SVM模型的松弛因子、核函数、分类预测函数、误差项的惩罚参数等。其中,所述核函数可以选择机器学习中的经典线性核函数。可以根据经验和实际需求设置所述预设机器学习模型以及所述模型参数,本公开对此不作限定。
可选地,在设置预设机器模型时,可以安装tensorflow和sklearn(Scikit-learn)机器学习库,并可以安装numpy、pandas和matplotlib数据分析库,以及配置sklearn基础环境,通过编写训练程序,基于sklearn,采用SVM分类模型进行免测分类训练。
可以将所述训练数据集输入至预设机器学习模型,可以基于所述训练数据集中的样本软件的特征信息,使用预设机器学习模型进行免测分类训练,在免测分类训练中调整所述预设机器学习模型的模型参数至所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签匹配,得到当前的免测分类预测模型。其中,所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签的误差值满足误差阈值时,或者所述误差值最小时,可以认为所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签匹配。所述误差阈值可以根据实际需要设置,本公开对此不作限定。
步骤S47,利用所述验证数据集,对所述当前的免测分类预测模型进行交叉验证。
本说明书实施例中,可以将所述验证数据集中的样本软件的特征信息输入所述当前的免测分类预测模型,通过判断输出的免测分类标签与所述验证数据集中的免测分类标签是否匹配,实现对所述当前的免测分类预测模型进行交叉验证。
步骤S49,若所述交叉验证通过,确定所述当前的免测分类预测模型为所述免测分类预测模型。
本说明书实施例中,可以在判断输出的免测分类标签与所述验证数据集中的免测分类标签匹配时,确定所述交叉验证通过,进而可以确定所述当前的免测分类预测模型为所述免测分类预测模型。进一步地,可以将所述免测分类预测模型发送至所述终端02,以用于提测软件的免测分类预测处理。需要说明的是,将所述免测分类预测模型发送至所述终端02不代表所述免测分类预测模型正式投入使用,例如,可以是进入所述免测分类预测模型的评测阶段。
可选地,在所述交叉验证通过后,可以将所述免测分类预测模型直接正式投入使用;或者,可以对所述免测分类预测模型进行评测,即进入所述免测分类预测模型的评测阶段。在所述免测分类预测模型评测通过后,将所述免测分类预测模型部署到软件提测管理平台,正式投入使用。本公开对所述免测分类预测模型正式投入使用的时机不作限定。其中,所述软件提测管理平台可以设置在所述REQ的终端02中。所述评测的具体过程可以包括以下步骤S81和步骤S83的内容。
图7示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。如图7所示,在一种可能的实现方式中,所述方法还可以包括:
步骤S71,若所述交叉验证未通过,重新划分所述训练样本集,得到训练数据集和验证数据集;
步骤S73,基于重新划分得到的训练数据集进行所述免测分类训练,至所述交叉验证通过为止。
若所述交叉验证未通过,可以根据预设比例,重新划分所述训练样本集,得到训练数据集和验证数据集。可以基于重新划分得到的训练数据集进行所述免测分类训练,至所述交叉验证通过为止。其中,可以利用所述重新划分得到的验证数据集进行所述交叉验证。对于基于重新划分得到的训练数据集进行所述免测分类训练以及利用所述重新划分得到的验证数据集进行所述交叉验证的具体操作,可以参见上述相应内容,在此不再赘述。
图8示出根据本公开一实施例的免测分类预测模型的训练方法的流程图。如图8所示,在一种可能的实现方式中,所述方法还可以包括:
步骤S81,获取所述提测软件的软件版本质量。
所述软件版本质量可以表征软件存在缺陷的数量,软件存在缺陷的数量越少,所述软件版本质量越高。
本说明书实施例中,可以监控和收集提测软件在真实使用中的缺陷,或者可以监控和收集所述提测软件在软件测试中的缺陷,获取所述提测软件的软件版本质量。并可以判断所述提测软件的软件版本质量与所述免测分类预测结果是否匹配。
步骤S83,若所述软件版本质量与所述免测分类预测结果不匹配,修正所述免测分类预测模型。
所述软件版本质量与所述免测分类预测结果不匹配可以包括:所述软件版本质量高与所述免测分类预测结果为不可以免测不匹配、所述软件版本质量低与所述免测分类预测结果为免测不匹配。
若所述软件版本质量与所述免测分类预测结果不匹配,即存在新的迭代需求,即提测软件在真实使用中的软件版本质量与所述免测分类预测模型输出的所述提测软件对应的免测分类预测结果冲突(不匹配),可以修正所述免测分类预测模型。
通过加入修正机制到所述免测分类预测模型中,可以对免测分类预测模型进行迭代训练,提高免测分类预测模型的稳定性。
图9示出根据本公开一实施例的修正所述免测分类预测模型的方法流程图。如图9所示,在一种可能的实现方式中,所述步骤S83可以包括:
步骤S831,修改所述提测软件对应的免测分类预测结果;
步骤S833,将所述修改后的免测分类预测结果作为所述提测软件的特征信息相应的免测分类标签。
若所述软件版本质量与所述免测分类预测结果不匹配,可以修改所述提测软件对应的免测分类预测结果。例如,所述提测软件对应的免测分类预测结果为免测,若所述提测软件的软件版本质量为低,即所述提测软件的软件版本质量与所述免测分类预测结果不匹配,可以修改所述提测软件对应的免测分类预测结果为非免测。可以将所述修改后的免测分类预测结果作为所述提测软件的特征信息相应的免测分类标签,即所述提测软件的特征信息相应的免测分类标签为非免测。
步骤S835,将所述提测软件的特征信息以及所述提测软件的特征信息相应的免测分类标签添加至所述训练样本集,得到修正训练样本集;
步骤S837,基于所述修正训练样本集进行机器学习训练,修正所述免测分类预测模型。
本说明书实施例中,可以将所述提测软件的特征信息以及所述提测软件的特征信息相应的免测分类标签添加至所述训练样本集,得到修正训练样本集。并可以基于所述修正训练样本集进行机器学习训练,修正所述免测分类预测模型。具体内容可以参照步骤S41~步骤S49。
图10示出根据本公开一实施例的软件免测的预测装置的框图。如图10所示,所述装置可以包括:
特征信息获取模块21,用于获取提测软件的特征信息,所述特征信息可以为表征软件代码质量的信息;
免测分类预测结果获取模块23,用于将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
其中,所述免测分类预测模型是基于训练样本集进行机器学习训练确定的,所述训练样本集包括样本软件的特征信息以及相应的免测分类标签。
通过获取提测软件的特征信息以及利用训练的免测分类预测模型进行免测分类预测处理,根据本公开实施例的软件免测的预测装置,可以实现软件测试左移,即可以在软件提测的源头判断软件是否可以免测,这种提测分析前置的方式,可以在免测分类预测结果为免测时,直接发布上线,避免软件在每个迭代周期都经过测试,提高软件上线效率,便于敏捷开发管理,实现了软件的前置量化测试,达到人力成本和软件质量的最优平衡。
利用免测分类预测模型获取所述免测分类预测结果,受人为影响小,提高了软件免测的预测可靠性。并且,通过免测分类预测模型进行免测分类预测处理,易于将所述特征信息(影响免测的信息)与软件版本质量映射,便于软件特征信息的基线建设,有利于软件版本质量的管理,实现了软件测试的基线化。
在一些实施例中,所述特征信息获取模块21可以包括:
信息获取单元,用于获取提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种;
将所述提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种作为所述提测软件的特征信息。
在另一些实施例中,所述装置还可以包括:
软件版本质量获取模块,用于获取所述提测软件的软件版本质量;
模型修正模块,用于若所述软件版本质量与所述免测分类预测结果不匹配,修正所述免测分类预测模型。
在另一些实施例中,所述模型修正模块可以包括:,
预测结果修改单元,用于修改所述提测软件对应的免测分类预测结果;
免测分类标签修改单元,用于将所述修改后的免测分类预测结果作为所述提测软件的特征信息相应的免测分类标签;
修正训练样本集获取单元,用于将所述提测软件的特征信息以及所述提测软件的特征信息相应的免测分类标签添加至所述训练样本集,得到修正训练样本集;
模型修正单元,用于基于所述修正训练样本集进行机器学习训练,修正所述免测分类预测模型。
在另一些实施例中,所述装置还可以包括:
训练样本集获取模块,用于获取所述训练样本集;
训练样本集划分模块,用于划分所述训练样本集,得到训练数据集和验证数据集;
模型训练模块,用于基于所述训练数据集中的样本软件的特征信息,使用预设机器学习模型进行免测分类训练,在免测分类训练中调整所述预设机器学习模型的模型参数至所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签匹配,得到当前的免测分类预测模型;
交叉验证模块,用于利用所述验证数据集,对所述当前的免测分类预测模型进行交叉验证;
模型确定模块,用于若所述交叉验证通过,确定所述当前的免测分类预测模型为所述免测分类预测模型。
在另一些实施例中,所述训练样本集划分模块,还用于若所述交叉验证未通过,重新划分所述训练样本集,得到训练数据集和验证数据集;
所述模型训练模块,还用于基于重新划分得到的训练数据集进行所述免测分类训练,至所述交叉验证通过为止。
在另一些实施例中,所述训练样本集获取模块可以包括:
特征信息获取单元,用于获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息;
免测分类标签获取单元,用于获取所述样本软件相应的免测分类标签;
训练样本集获取单元,用于将所述样本软件的特征信息以及所述样本软件相应的免测分类标签作为所述训练样本集。
图11是根据一示例性实施例示出的一种用于软件免测的预测装置1100的框图。例如,装置1100可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图11,装置1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电源组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)的接口1112,传感器组件1114,以及通信组件1116。
处理组件1102通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在装置1100的操作。这些数据的示例包括用于在装置1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1106为装置1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为装置1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在所述装置1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当装置1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当装置1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1116发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为装置1100提供各个方面的状态评估。例如,传感器组件1114可以检测到装置1100的打开/关闭状态,组件的相对定位,例如所述组件为装置1100的显示器和小键盘,传感器组件1114还可以检测装置1100或装置1100一个组件的位置改变,用户与装置1100接触的存在或不存在,装置1100方位或加速/减速和装置1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1116被配置为便于装置1100和其他设备之间有线或无线方式的通信。装置1100可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1116还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1104,上述计算机程序指令可由装置1100的处理器1120执行以完成上述方法。
图12是根据一示例性实施例示出的一种用于软件免测的预测的装置1200的框图。例如,装置1200可以被提供为一服务器。参照图12,装置1200包括处理组件1222,其进一步包括一个或多个处理器,以及由存储器1232所代表的存储器资源,用于存储可由处理组件1222的执行的指令,例如应用程序。存储器1232中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1222被配置为执行指令,以执行上述方法。
装置1200还可以包括一个电源组件1226被配置为执行装置1200的电源管理,一个有线或无线网络接口1250被配置为将装置1200连接到网络,和一个输入输出(I/O)接口1258。装置1200可以操作基于存储在存储器1232的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1232,上述计算机程序指令可由装置1200的处理组件1222执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (10)

1.一种软件免测的预测方法,其特征在于,包括:
获取提测软件的特征信息,所述特征信息为表征软件代码质量的信息;
将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
其中,所述免测分类预测模型是基于训练样本集进行机器学习训练确定的,所述训练样本集包括样本软件的特征信息以及相应的免测分类标签。
2.根据权利要求1所述的方法,其特征在于,所述获取提测软件的特征信息,包括:
获取提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种;
将所述提测软件的代码变更信息、提测软件的开发人员信息和提测软件的代码依赖深度信息中的一种或多种作为所述提测软件的特征信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
获取所述提测软件的软件版本质量;
若所述软件版本质量与所述免测分类预测结果不匹配,修正所述免测分类预测模型。
4.根据权利要求3所述的方法,其特征在于,所述修正所述免测分类预测模型,包括:
修改所述提测软件对应的免测分类预测结果;
将所述修改后的免测分类预测结果作为所述提测软件的特征信息相应的免测分类标签;
将所述提测软件的特征信息以及所述提测软件的特征信息相应的免测分类标签添加至所述训练样本集,得到修正训练样本集;
基于所述修正训练样本集进行机器学习训练,修正所述免测分类预测模型。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取所述训练样本集;
划分所述训练样本集,得到训练数据集和验证数据集;
基于所述训练数据集中的样本软件的特征信息,使用预设机器学习模型进行免测分类训练,在免测分类训练中调整所述预设机器学习模型的模型参数至所述预设机器学习模型输出的免测分类标签与所述训练数据集中的免测分类标签匹配,得到当前的免测分类预测模型;
利用所述验证数据集,对所述当前的免测分类预测模型进行交叉验证;
若所述交叉验证通过,确定所述当前的免测分类预测模型为所述免测分类预测模型。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述交叉验证未通过,重新划分所述训练样本集,得到训练数据集和验证数据集;
基于重新划分得到的训练数据集进行所述免测分类训练,至所述交叉验证通过为止。
7.根据权利要求5所述的方法,其特征在于,所述获取训练样本集,包括:
获取所述样本软件的代码变更信息、样本软件开发人员信息和样本软件的代码依赖深度信息中的一种或多种作为所述样本软件的特征信息;
获取所述样本软件相应的免测分类标签;
将所述样本软件的特征信息以及所述样本软件相应的免测分类标签作为所述训练样本集。
8.一种软件免测的预测装置,其特征在于,包括:
特征信息获取模块,用于获取提测软件的特征信息,所述特征信息为表征软件代码质量的信息;
免测分类预测结果获取模块,用于将所述提测软件的特征信息输入免测分类预测模型进行免测分类预测处理,获取所述提测软件对应的免测分类预测结果;
其中,所述免测分类预测模型是基于训练样本集进行机器学习训练确定的,所述训练样本集包括样本软件的特征信息以及相应的免测分类标签。
9.一种软件免测的预测设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令以实现权利要求1至7中任意一项所述的方法。
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
CN202010002751.2A 2020-01-02 2020-01-02 软件免测的预测方法、装置、设备及存储介质 Pending CN111177011A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010002751.2A CN111177011A (zh) 2020-01-02 2020-01-02 软件免测的预测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010002751.2A CN111177011A (zh) 2020-01-02 2020-01-02 软件免测的预测方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN111177011A true CN111177011A (zh) 2020-05-19

Family

ID=70652614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010002751.2A Pending CN111177011A (zh) 2020-01-02 2020-01-02 软件免测的预测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111177011A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091071A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Predicting software product quality
CN106991047A (zh) * 2017-03-27 2017-07-28 中国电力科学研究院 一种用于对面向对象软件缺陷进行预测的方法及系统
CN107862327A (zh) * 2017-10-26 2018-03-30 华中科技大学 一种基于多特征的安全缺陷识别系统和方法
CN107957946A (zh) * 2017-12-01 2018-04-24 北京理工大学 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法
CN108459955A (zh) * 2017-09-29 2018-08-28 重庆大学 基于深度自编码网络的软件缺陷预测方法
CN109165160A (zh) * 2018-08-28 2019-01-08 北京理工大学 基于核主成分分析算法的软件缺陷预测模型设计方法
CN109240929A (zh) * 2018-09-18 2019-01-18 百度在线网络技术(北京)有限公司 软件质量预测方法、装置、终端和计算机可读存储介质
CN109597748A (zh) * 2017-09-30 2019-04-09 北京国双科技有限公司 代码缺陷预警方法及装置
CN109885503A (zh) * 2019-03-12 2019-06-14 深圳微品致远信息科技有限公司 一种基于机器学习的智能分析软件缺陷的方法、系统及存储介质
US20190196938A1 (en) * 2017-12-26 2019-06-27 Oracle International Corporation Machine Defect Prediction Based on a Signature
CN110232020A (zh) * 2019-05-20 2019-09-13 平安普惠企业管理有限公司 基于智能决策的测试结果分析方法及相关装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091071A1 (en) * 2015-09-25 2017-03-30 International Business Machines Corporation Predicting software product quality
CN106991047A (zh) * 2017-03-27 2017-07-28 中国电力科学研究院 一种用于对面向对象软件缺陷进行预测的方法及系统
CN108459955A (zh) * 2017-09-29 2018-08-28 重庆大学 基于深度自编码网络的软件缺陷预测方法
CN109597748A (zh) * 2017-09-30 2019-04-09 北京国双科技有限公司 代码缺陷预警方法及装置
CN107862327A (zh) * 2017-10-26 2018-03-30 华中科技大学 一种基于多特征的安全缺陷识别系统和方法
CN107957946A (zh) * 2017-12-01 2018-04-24 北京理工大学 基于邻域嵌入保护算法支持向量机的软件缺陷预测方法
US20190196938A1 (en) * 2017-12-26 2019-06-27 Oracle International Corporation Machine Defect Prediction Based on a Signature
CN109165160A (zh) * 2018-08-28 2019-01-08 北京理工大学 基于核主成分分析算法的软件缺陷预测模型设计方法
CN109240929A (zh) * 2018-09-18 2019-01-18 百度在线网络技术(北京)有限公司 软件质量预测方法、装置、终端和计算机可读存储介质
CN109885503A (zh) * 2019-03-12 2019-06-14 深圳微品致远信息科技有限公司 一种基于机器学习的智能分析软件缺陷的方法、系统及存储介质
CN110232020A (zh) * 2019-05-20 2019-09-13 平安普惠企业管理有限公司 基于智能决策的测试结果分析方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
罗森林等: "《生物信息处理技术与方法[M]》", 31 January 2015 *
蔡亮等: "即时软件缺陷预测研究进展", 《软件学报》 *

Similar Documents

Publication Publication Date Title
US11606320B2 (en) Dynamic application configuration
US9372779B2 (en) System, method, apparatus and computer program for automatic evaluation of user interfaces in software programs
CN108614970B (zh) 病毒程序的检测方法、模型训练方法、装置及设备
US11568087B2 (en) Contextual API captcha
CN112668707B (zh) 运算方法、装置及相关产品
CN111563257A (zh) 数据检测方法及装置、计算机可读介质及终端设备
US11934533B2 (en) Detection of supply chain-related security threats to software applications
CN114036501A (zh) 一种app的检测方法、系统、装置、设备及存储介质
CN110163372B (zh) 运算方法、装置及相关产品
CN109460458B (zh) 查询改写意图的预测方法及装置
CN111858334A (zh) 基于文本识别的模糊测试方法及装置
WO2023097952A1 (zh) 预训练模型发布方法及装置、电子设备、存储介质和计算机程序产品
CN111177011A (zh) 软件免测的预测方法、装置、设备及存储介质
CN115729529A (zh) 信息处理方法、装置、设备及存储介质
CN111666936A (zh) 标注方法及装置和系统、电子设备和存储介质
US11526345B2 (en) Production compute deployment and governance
CN111626398B (zh) 运算方法、装置及相关产品
CN114548407A (zh) 层级目标定向因果发现方法、装置及电子设备
US20180198749A1 (en) Time and sentiment based messaging
CN114501059A (zh) 视频配乐处理方法、装置、电子设备及可读存储介质
CN114153954A (zh) 测试用例推荐方法、装置、电子设备及存储介质
US9223569B1 (en) Automatic software catalog content creation based on bio-inspired computing prediction
US20180373583A1 (en) Data integration process refinement and rejected data correction
CN117492823B (zh) 代码获取方法、装置、电子设备及可读存储介质
US9250870B2 (en) Automated creation of shim programs and interfaces

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200519