【CN109726131A】缺陷检测方法及缺陷检测装置【专利】
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发明内容 [0004] 本发明旨在至少解决现有技术中存在的技术问题之一,提供一种缺陷检测方法及 缺陷检测装置。 [0005] 为实现上述目的,本发明提供一种缺陷检测方法,该缺陷检测方法包括: [0006] 确定产生缺陷的源代码语句; [0007] 根据产生缺陷的源代码语句生成对应的代码路径; [0008] 执行所述代码路径,生成执行结果; [0009] 根据执行结果,判断所述缺陷是否为误报缺陷。 [0010] 可选地,所述执行结果包括用于确定所述代码路径可正常执行的信息或者用于确 定所述代码路径不可正常执行的信息; [0011] 所述根据执行结果,判断所述缺陷是否为误报缺陷包括: [0012] 若所述执行结果包括用于确定所述代码路径可正常执行的信息时,判断出所述缺 陷为误报缺陷; [0013] 若所述执行结果包括用于确定所述代码路径不可正常执行的信息时,判断出所述 缺陷为非误报缺陷。 [0014] 可选地,所述判断出所述缺陷为非误报缺陷之后还包括: [0015] 判断预先建立的缺陷数据库中是否存在所述缺陷; [0016] 若判断出预先建立的缺陷数据库中不存在所述缺陷时,则更新所述缺陷数据库。 [0017] 可选地,所述确定产生缺陷的源代码语句之前还包括:采用静态缺陷检测技术,对 所述源代码进行扫描。 [0018] 为实现上述目的,本发明提供了一种缺陷检测装置,该缺陷检测装置包括: [0019] 缺陷确定模块,用于确定产生缺陷的源代码语句; [0020] 路径生成模块,用于根据产生缺陷的源代码语句生成对应的代码路径; [0021] 路径执行模块,用于执行所述代码路径,生成执行结果;
测装置。该缺陷检 测方法包括 :确定产生缺陷的 源代码语句;根据产生缺陷的源代码语句生成对 应的 代码路径 ;执行所述代码路径 ,生成执行结 果 ;根据执行结果 ,判断所述缺陷是否为误报缺 陷。本发明所提供的缺陷检测方法及缺陷检测装 置 ,极大减 少了缺陷检 测的 工作量 ,提高了缺陷 检测的工作效率,同时避免了状态空间爆炸的问 题。
权利要求书1页 说明书5页 附图4页
CN 109726131 A
CN 109726131 A
权 利 要 求 书
1/1 页
1 .一种缺陷检测方法,其特征在于,包括: 确定产生缺陷的源代码语句; 根据产生缺陷的源代码语句生成对应的代码路径; 执行所述代码路径,生成执行结果; 根据执行结果,判断所述缺陷是否为误报缺陷。 2 .根据权利要求1所述的缺陷检测方法,其特征在于,所述执行结果包括用于确定所述 代码路径可正常执行的信息或者用于确定所述代码路径不可正常执行的信息; 所述根据执行结果,判断所述缺陷是否为误报缺陷包括: 若所述执行结果包括 用于确定所述代码路径可正常执行的 信息时 ,判断出所述缺陷为 误报缺陷; 若所述执行结果包括 用于确定所述代码路径不可正常执行的 信息时 ,判断出所述缺陷 为非误报缺陷。 3 .根据权利要求2所述的缺陷检测方法,其特征在于,所述判断出所述缺陷为非误报缺 陷之后还包括: 判断预先建立的缺陷数据库中是否存在所述缺陷; 若判断出预先建立的缺陷数据库中不存在所述缺陷时,则更新所述缺陷数据库。 4 .根据权利要求1所述的缺陷检测方法,其特征在于,所述确定产生缺陷的源代码语句 之前还包括:采用静态缺陷检测技术,对所述源代码进行扫描。 5 .一种缺陷检测装置,其特征在于,包括: 缺陷确定模块,用于确定产生缺陷的源代码语句; 路径生成模块,用于根据产生缺陷的源代码语句生成对应的代码路径; 路径执行模块,用于执行所述代码路径,生成执行结果; 误报判定模块,用于根据执行结果,判断所述缺陷是否为误报缺陷。 6 .根据权利要求5所述的缺陷检测装置,其特征在于,所述执行结果包括用于确定所述 代码路径可正常执行的信息或者用于确定所述代码路径不可正常执行的信息; 所述误报判定模块具体用于若所述执行结果包括用于确定所述代码路径可正常执行 的 信息时 ,判断出所述缺陷为误报缺陷 ;若所述执行结果包括 用于确定所述代码路径不可 正常执行的信息时,判断出所述缺陷为非误报缺陷。 7 .根据权利要求6所述的缺陷检测装置,其特征在于,还包括判断模块和更新模块; 所述判断模块 用于若误报判定模块判断出所述缺陷为非误报缺陷时 ,判断预先建立的 缺陷数据库中是否存在所述缺陷; 所述更新模块 用于若判断模块判断出预先建立的缺陷数据库中不存在所述缺陷时 ,更 新所述缺陷数据库。 8 .根据权利要求5所述的缺陷检测装置,其特征在于,还包括扫描模块; 所述扫描模块用于采用静态缺陷检测技术,对所述源代码进行扫描。
( 19 )中华人民 共和国国家知识产权局
( 12 )发明专利申请
(21)申请号 201910004082 .X (22)申请日 2019 .01 .03 (71)申请人 中国联合网络通信集团有限公司
地址 100033 北京市西城区金融大街21号 (72)发明人 杨学红 (74)专利代理机构 北京天昊联合知识产权代理
有限公司 11112 代理人 彭瑞欣 刘悦晗 (51)Int .Cl . G06F 11/36(2006 .01)
(10)申请公布号 CN 109726131 A (43)申请公布日 20方法及缺陷检测装置
( 57 )摘要 本发明公开了一种缺陷检测方法及缺陷检
2
CN 109726131 A
说 明 书
1/5 页
缺陷检测方法及缺陷检测装置
技术领域 [0001] 本发明涉及计算机领域,特别涉及一种缺陷检测方法及缺陷检测装置。
背景技术 [0002] 软件测试从是否运行程序来看,主要分为静态测试和动态测试。其中,静态测试不 需要运行源代码即可对程序代码进行缺陷检测,因此静态测试的检测结果中往往包含了大 量的误报缺陷;动态测试需要实际运行源代码,如果系统庞大,则存在路径爆炸的可能性。 [0003] 现有的软件测试都是单纯的从静态测试或者动态测试的角度去思考问题,针对静 态测试方法 ,存在大量误报缺陷 ,而该误报缺陷往往需要人工方式进行确认 ,增加了人工确 认的 工作量 ,降 低了静态缺陷检测的效率 ;针对动态测试方法 ,由 于需要运行所有源代码 , 不仅增加缺陷检测的工作量,还可能存在状态空间爆炸的问题。