CN109597748A - 代码缺陷预警方法及装置 - Google Patents

代码缺陷预警方法及装置 Download PDF

Info

Publication number
CN109597748A
CN109597748A CN201710940334.0A CN201710940334A CN109597748A CN 109597748 A CN109597748 A CN 109597748A CN 201710940334 A CN201710940334 A CN 201710940334A CN 109597748 A CN109597748 A CN 109597748A
Authority
CN
China
Prior art keywords
bug
characteristic
classifier
code
detected
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
CN201710940334.0A
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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201710940334.0A priority Critical patent/CN109597748A/zh
Publication of CN109597748A publication Critical patent/CN109597748A/zh
Pending legal-status Critical Current

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种代码缺陷预警方法及装置,能够接收待检测代码,提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到,获取所述分类器对所述特征数据的分类结果,在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。该代码缺陷预警方法及装置能够实现在代码提交测试前对代码进行缺陷预警,便于相关技术人员及时预防处理软件代码在测试过程中出现的缺陷故障。

Description

代码缺陷预警方法及装置
技术领域
本发明涉及软件测试技术领域,更具体的说,是涉及一种代码缺陷预警方法及装置。
背景技术
软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。对软件进行测试,也即对软件版本管理系统中的代码进行测试检测。
代码缺陷(bug)都是在测试过程中被检测出来的。这样,每对版本管理系统中的代码进行一次修改,都需要对新的代码进行测试,从而找到潜在的代码缺陷。现有技术中并不存在在代码提交测试前进行代码缺陷预警的技术。
发明内容
有鉴于此,本发明提供了一种代码缺陷预警方法及装置,以实现在代码提交测试前进行代码缺陷预警。
一种代码缺陷预警方法,包括:
接收待检测代码;
提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
可选的,在所述接收待检测代码前,还包括:
根据版本管理系统的历史代码提交记录和预设算法训练分类器。
可选的,所述根据版本管理系统的历史代码提交记录训练分类器,包括:
根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据,所述特征数据包括作者、分支、文件、修改总行数;
确定每个bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所有提交的特征数据训练分类器。
可选的,在所述对所述待检测代码进行缺陷预警后,还包括:
在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
可选的,所述在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练,包括:
在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所述添加bug标记的所述特征数据训练分类器。
一种代码缺陷预警装置,包括:
接收模块,用于接收待检测代码;
提取输入模块,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
预警模块,用于获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
可选的,还包括:
分类器训练模块,用于根据版本管理系统的历史代码提交记录和预设算法训练分类器。
可选的,还包括:
分类器优化模块,用于在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一种代码缺陷预警方法。
一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一种代码缺陷预警方法。
本发明实施例公开了一种代码缺陷预警方法、装置、存储介质及处理器,能够接收待检测代码,提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到,获取所述分类器对所述特征数据的分类结果,在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。该代码缺陷预警方法及装置能够实现在代码提交测试前对代码进行缺陷预警,便于相关技术人员及时预防处理软件代码在测试过程中出现的缺陷故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的第一种代码缺陷预警方法的流程图;
图2为本发明实施例公开的第二种代码缺陷预警方法的流程图;
图3为本发明实施例公开的训练分类器的流程图;
图4为本发明实施例公开的第一种代码缺陷预警装置的结构示意图;
图5为本发明实施例公开的第二种代码缺陷预警装置的结构示意图;
图6为本发明实施例公开的分类器训练模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,现将本发明实施例中的一些术语进行相应解释。
版本管理系统:软件开发过程中,将源代码存储在版本管理系统中。该系统可以维护代码文件的完整、记录每次对源代码的修改(新增、修改、删除)、便于多人协作。
提交:每次对版本管理系统中存储的代码进行修改,称为一次提交。每个提交都有一个唯一的提交id作为标识。
分支:版本管理系统中代码可以处于不同分支中,分支的目的主要是为了更好地维护代码结构。
Bug-fix提交:指该次提交是为了修复之前的提交的bug。
分类器:分类器的主要任务是将实例数据划分到合适的分类中。我们决定使用某个机器学习算法进行分类,首先需要做的是算法训练,即学习如何分类。通常我们为算法输入大量已分类数据作为算法的训练集。
图1为本发明实施例公开的第一种代码缺陷预警方法的流程图,如图1所示,所述方法可以包括:
步骤101:接收待检测代码。
所述待检测代码为尚未经过测试的代码,本发明实施例公开的代码缺陷预警方法,即能够实现在代码提交测试前,对出现缺陷可能性比较大的代码进行提前预警,以协助相关软件测试人员能够及时预防处理代码测试过程中出现的代码缺陷问题。
步骤102:提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器。
其中,所述特征数据可以包括但不限制为:作者、分支、文件、修改总行数等。在获得上述特征数据后,可以将所述特征数据作为分类器的输入变量,以使得所述分类器根据预设规则判断所述特征数据的类别。所述分类器的分类类别可以但不限制为包括“存在bug风险较大”和“存在bug风险较小”两种类别。
所述分类器根据历史代码提交记录中的特征数据训练得到。本实施例中,所述分类器不特指某种固定的分类器,因此,所述预设规则可以采用的算法包括但不限制为决策树、朴素贝叶斯分类器、k邻近算法等。所述分类器的分类规则可以由用户根据自身需求人为设置,例如,将所述分类器配置为当上述作者、分支、文件、修改总行数四个特征数据中不少于两个特征数据存在bug标记时,则认为所述待检测代码存在bug的风险较高。
其中,所述bug标记为所述分类器在训练过程中,对存在bug的提交对应的提交代码中的特征数据上标记的。所述分类器将接收到的所述待检测代码中的所述特征数据作为变量,并判断所述变量是否与存在bug标记的特征数据匹配,并且规定所述输入变量与存在bug的特征数据的匹配程度在什么样的情况下为“存在bug风险较高”。
步骤103:获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
在判断出所述分类结果满足预设条件后,可对所述待检测代码进行缺陷预警,以提示相关软件测试人员,所述待检测代码出现缺陷的风险比较大。所述预设条件可以是分类结果为“存在bug风险较高”。例如,所述分类器中,A作者存在bug标记,B分支存在bug标记,此时,若所述待检测代码中的特征数据中作者为A,分支为B,则所述分类器分类结果为“存在bug风险较大”,并指示进行相应缺陷预警。
其中,所述预警方式可以为现有技术中的任意一种预警方式,如蜂鸣器,闪光灯,LED提示灯,语音提示器等等。
本实施例中,所述代码缺陷预警方法首先接收待检测代码,然后提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到,获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。该代码缺陷预警方法能够实现在代码提交测试前对代码进行缺陷预警,便于相关技术人员及时预防处理软件代码在测试过程中出现的缺陷故障。
图2为本发明实施例公开的第二种代码缺陷预警方法的流程图,参见图2所示,所述方法可以包括:
步骤201:根据版本管理系统的历史代码提交记录和预设算法训练分类器。
步骤201的具体实现过程可以参见图3,图3为本发明实施例公开的训练分类器的流程图,如图3所示,可以包括:
步骤301:根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据。
其中,所述特征数据可以但不限职为包括:作者、分支、文件、修改总行数。例如,某次提交是作者a,在feature/x分支,对source.c文件进行了修改,共修改了10行。
对于一个已经存在着历史代码的项目,需要对分类器进行初始化。初始化的过程如图3,首先读取每次非bug-fix提交的特征数据,每个提交都可以提取出上述特征数据,作为训练集中的一行。本实施例中,默认将每次提交都标记为不存在bug的提交。
步骤302:确定每个bug-fix提交修正的存在bug的提交对应的提交ID。
一般可以通过判断分支名字、判断提交信息等方法来判断某次提交为bug-fix提交。每个提交都有一个唯一的提交ID作为标识。
步骤303:将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记。
由于本实施例中默认将每次提交都标记为不存在bug的提交,因此,在步骤302确定出存在bug的提交后,需要将存在bug的提交对应的特征数据添加bug标记,便于后续训练分类器。
步骤304:根据所有提交的特征数据训练分类器。
其中,所述所有的提交,包括非bug-fix提交和bug-fix提交。所述训练分类器的过程,将所有提交代码的作者、分支、文件和修改总行数作为变量特征,依据现有技术训练分类器的过程训练所述分类器。
所述分类器训练好后,即可以接收待检测代码,并对所述待检测代码进行缺陷预警。
步骤201后,进入步骤202。
步骤202:接收待检测代码。
步骤203:提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器。
其中,所述分类器根据历史代码提交记录中的特征数据训练得到。
步骤204:获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
本实施例中,详细介绍了分类器的初始化训练过程,在所述分类器初始化完成后,即可以实现对待检测代码进行缺陷预警。
在其他的实施例中,所述代码缺陷预警方法还可以包括:在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。具体过程和初始化分类器的过程相似,可以包括:在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;根据所述添加bug标记的所述特征数据训练分类器。
对于每次bug-fix提交,找到所述bug-fix提交修复的bug的提交对应的提交ID,对训练集中该条提交ID标记为存在bug,然后重新对所述分类器进行训练。以提高所述分类器的分类结果的准确度。
图4为本发明实施例公开的第一种代码缺陷预警装置的结构示意图,如图4所示,所述代码缺陷预警装置40可以包括:
接收模块401,用于接收待检测代码。
所述待检测代码为尚未经过测试的代码,本发明实施例公开的代码缺陷预警方法,即能够实现在代码提交测试前,对出现缺陷可能性比较大的代码进行提前预警,以协助相关软件测试人员能够及时预防处理代码测试过程中出现的代码缺陷问题。
提取输入模块402,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器。
其中,所述特征数据可以包括但不限制为:作者、分支、文件、修改总行数等。在获得上述特征数据后,可以将所述特征数据作为分类器的输入变量,以使得所述分类器根据预设规则判断所述特征数据的类别。所述分类器的分类类别可以但不限制为包括“存在bug风险较大”和“存在bug风险较小”两种类别。
所述分类器根据历史代码提交记录中的特征数据训练得到。本实施例中,所述分类器不特指某种固定的分类器,因此,所述预设规则可以采用的算法包括但不限制为决策树、朴素贝叶斯分类器、k邻近算法等。所述分类器的分类规则可以由用户根据自身需求人为设置,例如,将所述分类器配置为当上述作者、分支、文件、修改总行数四个特征数据中不少于两个特征数据存在bug标记时,则认为所述待检测代码存在bug的风险较高。
其中,所述bug标记为所述分类器在训练过程中,对存在bug的提交对应的提交代码中的特征数据上标记的。所述分类器将接收到的所述待检测代码中的所述特征数据作为变量,并判断所述变量是否与存在bug标记的特征数据匹配,并且规定所述输入变量与存在bug的特征数据的匹配程度在什么样的情况下为“存在bug风险较高”。
预警模块403,用于获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
在判断出所述分类结果满足预设条件后,可对所述待检测代码进行缺陷预警,以提示相关软件测试人员,所述待检测代码出现缺陷的风险比较大。所述预设条件可以是分类结果为“存在bug风险较高”。例如,所述分类器中,A作者存在bug标记,B分支存在bug标记,此时,若所述待检测代码中的特征数据中作者为A,分支为B,则所述分类器分类结果为“代码存在缺陷风险高”,并指示进行相应缺陷预警。
其中,所述预警方式可以为现有技术中的任意一种预警方式,如蜂鸣器,闪光灯,LED提示灯,语音提示器等等。
本实施例中,所述代码缺陷预警装置首先接收待检测代码,然后提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到,获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。该代码缺陷预警装置能够实现在代码提交测试前对代码进行缺陷预警,便于相关技术人员及时预防处理软件代码在测试过程中出现的缺陷故障。
图5为本发明实施例公开的第二种代码缺陷预警装置的结构示意图,如图5所示,所述代码缺陷预警装置50可以包括:
分类器训练模块501,用于根据版本管理系统的历史代码提交记录和预设算法训练分类器。
接收模块401,用于接收待检测代码。
提取输入模块402,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器。
其中,所述分类器根据历史代码提交记录中的特征数据训练得到。
预警模块403,用于获取在所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
其中,所述分类器训练模块501的具体结构可以参见图6,图6为本发明实施例公开的分类器训练模块的结构示意图,如图6所示,可以包括:
提取模块601,用于根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据。
其中,所述特征数据可以但不限职为包括:作者、分支、文件、修改总行数。例如,某次提交是作者a,在feature/x分支,对source.c文件进行了修改,共修改了10行。
对于一个已经存在着历史代码的项目,需要对分类器进行初始化。初始化的过程包括,首先读取每次非bug-fix提交的特征数据,每个提交都可以提取出上述特征数据,作为训练集中的一行。本实施例中,默认将每次提交都标记为不存在bug的提交。
确定模块602,用于确定每个bug-fix提交修正的存在bug的提交对应的提交ID。
一般可以通过判断分支名字、判断提交信息等方法来判断某次提交为bug-fix提交。每个提交都有一个唯一的提交ID作为标识。
标记添加模块603,用于将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记。
由于本实施例中默认将每次提交都标记为不存在bug的提交,因此,在所述确定模块602确定出存在bug的提交后,需要将存在bug的提交对应的特征数据添加bug标记,便于后续训练分类器。
训练子模块604,用于根据所有提交的特征数据训练分类器。
其中,所述所有的提交,包括非bug-fix提交和bug-fix提交。所述训练分类器的过程,将所有提交代码的作者、分支、文件和修改总行数作为变量特征,依据现有技术训练分类器的过程训练所述分类器。
所述分类器训练好后,即可以接收待检测代码,并对所述待检测代码进行缺陷预警。
在其他的实施例中,所述代码缺陷预警装置还可以包括分类器优化模块,用于在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交对所述分类器进行训练。具体的,所述分类器优化模块可以用于:在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;根据所述添加bug标记的所述特征数据训练分类器。
对于每次bug-fix提交,找到所述bug-fix提交修复的bug对应的提交对应的提交ID,对训练集中该条提交ID标记为存在bug,然后重新对所述分类器进行训练。以提高所述分类器的分类结果的准确度。
本发明实施例还公开了一种存储介质,所述存储介质包括存储的程序,所述程序执行上述实施例中任意一种代码缺陷预警方法。
进一步地,本发明实施例公开了一种处理器,所述处理器用于运行程序,所述程序运行时执行上述实施例中任意一种代码缺陷预警方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种代码缺陷预警方法,其特征在于,包括:
接收待检测代码;
提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
2.根据权利要求1所述的代码缺陷预警方法,其特征在于,在所述接收待检测代码前,还包括:
根据版本管理系统的历史代码提交记录和预设算法训练分类器。
3.根据权利要求2所述的代码缺陷预警方法,其特征在于,所述根据版本管理系统的历史代码提交记录训练分类器,包括:
根据版本管理系统的历史提交记录,提取每个非bug-fix提交的特征数据,所述特征数据包括作者、分支、文件、修改总行数;
确定每个bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所有提交的特征数据训练分类器。
4.根据权利要求1所述的代码缺陷预警方法,其特征在于,在所述对所述待检测代码进行缺陷预警后,还包括:
在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
5.根据权利要求4所述的代码缺陷预警方法,其特征在于,所述在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练,包括:
在检测到本次接收的待检测代码为bug-fix提交时,确定本次bug-fix提交修正的存在bug的提交对应的提交ID;
将与所述提交ID对应的非bug-fix提交的所述特征数据添加bug标记;
根据所述添加bug标记的所述特征数据训练分类器。
6.一种代码缺陷预警装置,其特征在于,包括:
接收模块,用于接收待检测代码;
提取输入模块,用于提取所述待检测代码中的特征数据,并将所述特征数据输入预先训练好的分类器,所述分类器根据历史代码提交记录中的特征数据训练得到;
预警模块,用于获取所述分类器对所述特征数据的分类结果,并在所述分类结果满足预设条件时,对所述待检测代码进行缺陷预警。
7.根据权利要求6所述的代码缺陷预警装置,其特征在于,还包括:
分类器训练模块,用于根据版本管理系统的历史代码提交记录和预设算法训练分类器。
8.根据权利要求6所述的代码缺陷预警装置,其特征在于,还包括:
分类器优化模块,用于在检测到本次接收的待检测代码为bug-fix提交时,根据所述bug-fix提交的特征数据对所述分类器进行训练。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至5中任意一项所述的代码缺陷预警方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的代码缺陷预警方法。
CN201710940334.0A 2017-09-30 2017-09-30 代码缺陷预警方法及装置 Pending CN109597748A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940334.0A CN109597748A (zh) 2017-09-30 2017-09-30 代码缺陷预警方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940334.0A CN109597748A (zh) 2017-09-30 2017-09-30 代码缺陷预警方法及装置

Publications (1)

Publication Number Publication Date
CN109597748A true CN109597748A (zh) 2019-04-09

Family

ID=65956214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940334.0A Pending CN109597748A (zh) 2017-09-30 2017-09-30 代码缺陷预警方法及装置

Country Status (1)

Country Link
CN (1) CN109597748A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078544A (zh) * 2019-12-04 2020-04-28 腾讯科技(深圳)有限公司 一种软件缺陷预测方法、装置、设备及存储介质
CN111177011A (zh) * 2020-01-02 2020-05-19 腾讯科技(深圳)有限公司 软件免测的预测方法、装置、设备及存储介质
CN112418404A (zh) * 2020-12-01 2021-02-26 策拉人工智能科技(云南)有限公司 一种人工智能会计神经网络深度学习训练方法
CN114625640A (zh) * 2022-03-04 2022-06-14 盐城金堤科技有限公司 软件测试项目管理方法和装置,以及存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899135A (zh) * 2015-05-14 2015-09-09 工业和信息化部电子第五研究所 软件缺陷预测方法和系统
CN104965787A (zh) * 2015-07-06 2015-10-07 南京航空航天大学 一种基于三支决策的两阶段软件缺陷预测方法
CN106528417A (zh) * 2016-10-28 2017-03-22 中国电子产品可靠性与环境试验研究所 软件缺陷智能检测方法和系统
CN107168868A (zh) * 2017-04-01 2017-09-15 西安交通大学 一种基于采样和集成学习的软件更改缺陷预测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899135A (zh) * 2015-05-14 2015-09-09 工业和信息化部电子第五研究所 软件缺陷预测方法和系统
CN104965787A (zh) * 2015-07-06 2015-10-07 南京航空航天大学 一种基于三支决策的两阶段软件缺陷预测方法
CN106528417A (zh) * 2016-10-28 2017-03-22 中国电子产品可靠性与环境试验研究所 软件缺陷智能检测方法和系统
CN107168868A (zh) * 2017-04-01 2017-09-15 西安交通大学 一种基于采样和集成学习的软件更改缺陷预测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JACEK SLIWERSKI等: "When Do Changes Induce Fixes?", 《ACM SIGSOFT, SOFTWARE ENGINEERING NOTES》 *
王辉等: "基于软件信息库挖掘的软件缺陷预测方法", 《计算机工程与设计》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078544A (zh) * 2019-12-04 2020-04-28 腾讯科技(深圳)有限公司 一种软件缺陷预测方法、装置、设备及存储介质
CN111078544B (zh) * 2019-12-04 2022-05-20 腾讯科技(深圳)有限公司 一种软件缺陷预测方法、装置、设备及存储介质
CN111177011A (zh) * 2020-01-02 2020-05-19 腾讯科技(深圳)有限公司 软件免测的预测方法、装置、设备及存储介质
CN112418404A (zh) * 2020-12-01 2021-02-26 策拉人工智能科技(云南)有限公司 一种人工智能会计神经网络深度学习训练方法
CN114625640A (zh) * 2022-03-04 2022-06-14 盐城金堤科技有限公司 软件测试项目管理方法和装置,以及存储介质和电子设备

Similar Documents

Publication Publication Date Title
Hoang et al. Deepjit: an end-to-end deep learning framework for just-in-time defect prediction
CN109597748A (zh) 代码缺陷预警方法及装置
Gao et al. Smartembed: A tool for clone and bug detection in smart contracts through structural code embedding
US20190138731A1 (en) Method for determining defects and vulnerabilities in software code
US20150370685A1 (en) Defect localization in software integration tests
Steidl et al. Feature-based detection of bugs in clones
Alrubaye et al. On the use of information retrieval to automate the detection of third-party java library migration at the method level
Jie et al. Survey on software vulnerability analysis method based on machine learning
CN111143226A (zh) 自动化测试方法及装置、计算机可读存储介质、电子设备
CN106708704A (zh) 一种对崩溃日志进行分类的方法和装置
CN115168856A (zh) 二进制代码相似性检测方法及物联网固件漏洞检测方法
US20210117305A1 (en) System and method to improve results of a static code analysis based on the probability of a true error
CN111400505A (zh) 一种用电信息采集系统匹配故障消缺方案的方法及系统
Domin et al. Improving plagiarism detection in coding assignments by dynamic removal of common ground
CN115129591A (zh) 面向二进制代码的复现漏洞检测方法及系统
Bui et al. Detect-localize-repair: A unified framework for learning to debug with codet5
Liem et al. Oracle issues in machine learning and where to find them
CN112328469B (zh) 一种基于嵌入技术的函数级缺陷定位方法
US20100131497A1 (en) Method for determining which of a number of test cases should be run during testing
Zhao et al. Suzzer: A vulnerability-guided fuzzer based on deep learning
Abdulla et al. Effective and efficient optics inspection approach using machine learning algorithms
Sun et al. Propagating bug fixes with fast subgraph matching
Seiler et al. Comparing traceability through information retrieval, commits, interaction logs, and tags
Sheneamer et al. Schemes for labeling semantic code clones using machine learning
CN110837494B (zh) 一种识别病历首页未特指诊断编码错误的方法及装置

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
CB02 Change of applicant information

Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190409

RJ01 Rejection of invention patent application after publication