[发明专利]一种城轨联锁软件代码静态度量方法及系统在审
申请号: | 202010876151.9 | 申请日: | 2020-08-25 |
公开(公告)号: | CN112182572A | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 张松盛;谢培新;付永伟;侯金川;冯维佳;吕佳奇;汪琦涵 | 申请(专利权)人: | 通号城市轨道交通技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F11/36 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 杨明月 |
地址: | 100070 北京市丰*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联锁 软件 代码 静态 度量 方法 系统 | ||
本发明实施例提供一种城轨联锁软件代码静态度量方法及系统,包括:获取城轨联锁软件中各防护性代码的类型;根据各个防护性代码的类型对每个防护性代码进行屏蔽处理;对经过屏蔽处理后的城轨联锁软件进行静态度量。本发明实施例提供的城轨联锁软件代码静态度量方法及系统,针对因某些原因不得不编写的防护性质代码,进行类型识别,对于不影响软件正常使用的防护性代码,在进行静态测试时进行屏蔽,以达到对正常执行代码的测试,并将防护性代码个数及占比作为一种度量标准进行可视化,使得开发人员以及开发验证人员在对软件代码进行评估时,能够更清晰、直观的获取到该段代码的安全性。
技术领域
本发明涉及计算机技术领域,尤其涉及一种城轨联锁软件代码静态度量方法及系统。
背景技术
目前使用的城轨联锁软件中,出于安全性质的考虑,经常在代码中编写安全性质的防护性代码。这些防护性代码不影响软件的正常使用,主要是为了防止在软件使用过程中出现参数传输错误或其他可能出现的小概率错误。
由于这些防护性代码在正常的软件静态测试中往往被视为不可达代码,从而导致在进行常规的软件代码静态测试时会影响正常代码的静态度量结果,而且对于测试人员来说,往往将上述防护性代码视为代码本身编写的失误,从而无法清楚地获知测试代码关乎的产品安全性。
针对城轨联锁代码,每次进行静态度量分析时,都会出现大量影响结果的防护性和安全性冗余代码,亟需提供一种更为准确的城轨联锁软件代码静态度量方法。
发明内容
本发明实施例提供一种城轨联锁软件代码静态度量方法及系统,用以解决现有技术中在对代码进行分析时,将防护性代码作为不可达代码,从而导致静态度量结果不可信的缺陷,使得开发人员以及开发验证人员在对带测试代码进行评估时,更加清晰直观的认识到该段代码的安全性。
第一方面,本发明实施例提供一种城轨联锁软件代码静态度量方法,主要包括:获取城轨联锁软件中各防护性代码的类型;根据防护性代码的类型对防护性代码进行屏蔽处理;对经过屏蔽处理后的城轨联锁软件进行静态度量。
可选地,上述根据防护性代码的类型对防护性代码进行屏蔽处理,主要包括:利用正则匹配替换的方式,根据防护性代码的不同类型,将防护性代码替换为可被静态度量工具识别的不同注释,以实现对防护性代码的屏蔽处理。
可选地,在对经过屏蔽处理后的城轨联锁软件进行静态度量之后,还可以包括:根据所述静态度量的结果,获取城轨联锁软件中各函数所包含的各类型的防护性代码的个数;根据城轨联锁软件中各函数所包含的各类型的防护性代码的个数,确定各类型的防护性代码的占比;根据每个函数所包含的各类型的防护性代码的占比,并结合静态度量结果,判断函数是否满足预设条件;若函数满足预设条件,则降低静态度量的标准,并重新对经过屏蔽处理后的城轨联锁软件进行静态度量;若静态度量的结果依然不合格,则对函数中的防护性代码进行修改。
可选地,上述静态度量结果,主要包括:代码总行数、所述函数的个数、分支复杂度、圈复杂度、扇出数、扇入数以及代码深度。
作为可选地,根据每个函数所包含的各类型的防护性代码的占比,并结合静态度量结果,判断所述函数是否满足预设条件,主要包括:将每个函数所包含的各类型的防护性代码的占比与第一阈值进行比较;将静态度量结果中的圈复杂度与第二阈值进行比较;将静态度量结果中的扇出数与第三阈值进行比较;在占比大于第一阈值的基础上,若圈复杂度大于所述第二阈值或扇出数大于第三阈值,则判断函数不满足所述预设条件;否则,则判断函数满足所述预设条件。
可选地,若占比不大于第一阈值,则判断函数满足预设条件;或者在占比大于第一阈值的基础上,若圈复杂度不大于第二阈值或扇出数不大于第三阈值,则判断函数满足预设条件。
可选地,防护性代码包括联锁断言防护代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于通号城市轨道交通技术有限公司,未经通号城市轨道交通技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010876151.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种棒条圆振筛装置
- 下一篇:电子系统及其操作方法以及计算机可读介质