[发明专利]一种静态代码质量分析方法和装置有效
| 申请号: | 201710081777.9 | 申请日: | 2017-02-15 |
| 公开(公告)号: | CN108446213B | 公开(公告)日: | 2021-08-17 |
| 发明(设计)人: | 彭飞 | 申请(专利权)人: | 西门子公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/30 |
| 代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵冬梅 |
| 地址: | 德国*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 静态 代码 质量 分析 方法 装置 | ||
1.静态代码质量分析方法,其特征在于,包括:
基于至少一条第一代码质量检查规则,对待分析代码采用模式匹配的方法进行质量分析,得到至少一条第一质量分析结果;
根据所述至少一条第一质量分析结果,确定所述待分析代码的缺陷趋势;
根据所述缺陷趋势,确定至少一条第二代码质量检查规则;
基于所述至少一条第二代码质量检查规则,采用逻辑路径的方法对所述待分析代码进行质量分析,得到至少一条第二质量分析结果。
2.如权利要求1所述的方法,其特征在于,所述缺陷趋势包括至少一条缺陷,以及所述待分析代码发生所述至少一条缺陷中的每一条缺陷的第一概率。
3.如权利要求2所述的方法,其特征在于,
所述至少一条第一代码质量检查规则中的每一条对应于至少一种缺陷,符合该规则的代码中出现该规则所对应的每一条缺陷的第二概率均大于预设的第二缺陷概率阈值;
在根据所述至少一条第一质量分析结果,预测得到所述待分析代码的缺陷趋势之前,还包括:对于所述至少一条第一代码质量检查规则所对应的每一种缺陷,
确定该缺陷所对应的所述至少一条代码质量检查规则中的每一条;
对于确定的每一条,得到所述至少一条第一质量分析结果中,符合该条代码质量检查规则的结果出现的第一次数;
根据得到的所有所述第一次数,得到该缺陷可能出现的第二次数;
根据得到的所有所述第二次数,预测所述待分析代码出现该缺陷的所述第一概率。
4.如权利要求2或3所述的方法,其特征在于,根据所述缺陷趋势,确定至少一条第二代码质量检查规则,包括:根据所述缺陷趋势,以及下列因素中的至少一个,确定所述至少一条第二代码质量检查规则:
无缺陷的代码在使用一条规则进行代码质量分析时被误判为存在缺陷的第三概率;
使用一条规则检查缺陷时所使用的检查算法对处理器的占用率。
5.静态代码质量分析装置(30),其特征在于,包括:
一个第一检查模块(301),用于基于至少一条第一代码质量检查规则,对待分析代码采用模式匹配的方法进行质量分析,得到至少一条第一质量分析结果;
一个趋势确定模块(302),用于根据所述至少一条第一质量分析结果,确定所述待分析代码的缺陷趋势;
一个规则确定模块(303),用于根据所述缺陷趋势,确定至少一条第二代码质量检查规则;
一个第二检查模块(304),用于基于所述至少一条第二代码质量检查规则,采用基于逻辑路径的方法对所述待分析代码进行质量分析,得到至少一条第二质量分析结果。
6.如权利要求5所述的装置(30),其特征在于,所述趋势确定模块(302)所确定的所述缺陷趋势包括至少一条缺陷,以及所述待分析代码发生所述至少一条缺陷中的每一条缺陷的第一概率。
7.如权利要求6所述的装置(30),其特征在于,所述第一检查模块(301)所使用的所述至少一条第一代码质量检查规则中的每一条对应于至少一种缺陷,符合该规则的代码中出现该规则所对应的每一条缺陷的第二概率均大于预设的第二缺陷概率阈值;
所述趋势确定模块(302),还用于在根据所述至少一条第一质量分析结果,预测得到所述待分析代码的缺陷趋势之前,对于所述至少一条第一代码质量检查规则所对应的每一种缺陷,
确定该缺陷所对应的所述至少一条代码质量检查规则中的每一条;
对于确定的每一条,得到所述至少一条第一质量分析结果中,符合该条代码质量检查规则的结果出现的第一次数;
根据得到的所有所述第一次数,得到该缺陷可能出现的第二次数;
根据得到的所有所述第二次数,预测所述待分析代码出现该缺陷的所述第一概率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子公司,未经西门子公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710081777.9/1.html,转载请声明来源钻瓜专利网。





