本发明公开一种方法及装置,涉及软件测试,具体地说是一种代码扫描工具评测方法及装置。
背景技术:
1、代码质量在软件开发中至关重要。高质量的代码直接影响着软件的稳定性、性能、安全性和可维护性。优秀的代码质量可以减少潜在的缺陷和错误,从而降低维护成本和修复的工作量。此外,高质量的代码更容易理解和维护,有助于提高团队的协作效率。另外,软件产品的用户体验也直接受益于优质的代码,因为高质量的代码能够确保软件稳定运行和快速响应。
2、为了提升代码质量,代码扫描工具应运而生。代码扫描工具是一类用于自动化代码审查和分析的软件工具。它们用于检测代码中的潜在缺陷、漏洞、安全漏洞、代码风格违规等问题,并帮助开发者提高代码质量和安全性。
3、目前,代码扫描领域蓬勃发展,各种代码扫描工具各具特色,如pmd,findbugs,sonarqube,checkmarx,fortify等。但缺少代码扫描工具评测方法及装置,用于测评代码扫描工具,帮助用户选择适合的高性能代码扫描工具。
技术实现思路
1、本发明针对现有技术的问题,提供一种代码扫描工具评测方法及装置,通过对比代码扫描工具的准确性和代码扫描速度对代码扫描工具进行评测,不需要获取扫描报告的细节,大大减少了评分耗费的时间。
2、本发明提出的具体方案是:
3、本发明提供一种代码扫描工具评测方法,包括:
4、步骤1:构建样本代码库,通过样本代码库保存测试用例,所述测试用例包括一定数量的包含真实漏洞的样本代码和一定数量的不包含真实漏洞的样本代码,通过不包含真实漏洞的样本代码测试代码扫描工具的误报率,通过包含真实漏洞的样本代码测试代码扫描工具的漏报率,
5、步骤2:根据代码扫描工具扫描所述测试用例的结果,计算代码扫描工具的综合得分,根据综合得分进行代码扫描工具的评测。
6、进一步,所述的一种代码扫描工具评测方法中步骤1中,包括:
7、构建所述测试用例中一定数量的不包含真实漏洞的样本代码,记录伪装漏洞的个数,
8、构建所述测试用例中一定数量的包含真实漏洞的样本代码,记录漏洞的个数,包含真实漏洞的样本代码包含各种代码漏洞类型。
9、进一步,所述的一种代码扫描工具评测方法中步骤2中,包括:
10、使用代码扫描工具扫描所述测试用例中不包含真实漏洞的样本代码,记录扫描出的漏洞个数a,利用漏洞个数a除以伪装漏洞的个数,计算误报率,
11、使用代码扫描工具扫描所述测试用例中包含真实漏洞的样本代码,记录扫描出的漏洞个数b,利用1-(漏洞个数b除以伪装漏洞个数),计算漏报率,
12、通过计算公式:1-漏报率-误报率
13、计算代码扫描工具的综合得分。
14、进一步,所述的一种代码扫描工具评测方法中步骤2中还记录被评测的代码扫描工具扫描所述测试用例的所有样本代码的总计耗时,
15、利用计算公式:((1-漏报率)*100-误报率*100)/总计耗时
16、计算代码扫描工具的综合得分。
17、本发明还提供一种代码扫描工具评测装置,包括样本代码模块和评分模块,
18、样本代码模块构建样本代码库,通过样本代码库保存测试用例,所述测试用例包括一定数量的包含真实漏洞的样本代码和一定数量的不包含真实漏洞的样本代码,通过不包含真实漏洞的样本代码测试代码扫描工具的误报率,通过包含真实漏洞的样本代码测试代码扫描工具的漏报率,
19、评分模块根据代码扫描工具扫描所述测试用例的结果,计算代码扫描工具的综合得分,根据综合得分进行代码扫描工具的评测。
20、进一步,所述的一种代码扫描工具评测装置中样本代码模块构建所述测试用例中一定数量的不包含真实漏洞的样本代码,记录伪装漏洞的个数,
21、构建所述测试用例中一定数量的包含真实漏洞的样本代码,记录漏洞的个数,包含真实漏洞的样本代码包含各种代码漏洞类型。
22、进一步,所述的一种代码扫描工具评测装置中评分模块使用代码扫描工具扫描所述测试用例中不包含真实漏洞的样本代码,记录扫描出的漏洞个数a,利用漏洞个数a除以伪装漏洞的个数,计算误报率,
23、使用代码扫描工具扫描所述测试用例中包含真实漏洞的样本代码,记录扫描出的漏洞个数b,利用1-(漏洞个数b除以伪装漏洞个数),计算漏报率,
24、通过计算公式:1-漏报率-误报率
25、计算代码扫描工具的综合得分。
26、进一步,所述的一种代码扫描工具评测装置中评分模块还记录被评测的代码扫描工具扫描所述测试用例的所有样本代码的总计耗时,
27、利用计算公式:((1-漏报率)*100-误报率*100)/总计耗时
28、计算代码扫描工具的综合得分。
29、本发明的有益之处是:
30、本发明提供一种代码扫描工具评测方法,操作简单,评分结果综合了扫描工具的漏报率,误报率,扫描速度,评分角度更全面,更准确,
31、屏蔽了不同扫描工具之间的差异,不需要解析扫描工具的扫描报告,不同的代码扫描工具报告千差万别,无法形成统一的解析方式,获取扫描结果,评分时只需要计算扫描工具扫描的漏洞数量即可,不需要获取扫描报告的细节,大大减少了评分耗费的时间。
1.一种代码扫描工具评测方法,其特征是包括:
2.根据权利要求1所述的一种代码扫描工具评测方法,其特征是步骤1中,包括:
3.根据权利要求2所述的一种代码扫描工具评测方法,其特征是步骤2中,包括:
4.根据权利要求1-3中任一项所述的一种代码扫描工具评测方法,其特征是步骤2中还记录被评测的代码扫描工具扫描所述测试用例的所有样本代码的总计耗时,
5.一种代码扫描工具评测装置,其特征是包括样本代码模块和评分模块,
6.根据权利要求5所述的一种代码扫描工具评测装置,其特征是样本代码模块构建所述测试用例中一定数量的不包含真实漏洞的样本代码,记录伪装漏洞的个数,
7.根据权利要求6所述的一种代码扫描工具评测装置,其特征是评分模块使用代码扫描工具扫描所述测试用例中不包含真实漏洞的样本代码,记录扫描出的漏洞个数a,利用漏洞个数a除以伪装漏洞的个数,计算误报率,
8.根据权利要求5-7中任一项所述的一种代码扫描工具评测装置,其特征是评分模块还记录被评测的代码扫描工具扫描所述测试用例的所有样本代码的总计耗时,