未来能够加速软件开发,提高安全和质量水平尤其重要。企业一直在寻找合适的解决方案,可帮助开发和安全团队在软件开发生命周期 (SDLC)
的早期解决安全和质量缺陷,跟踪和管理整个应用组合的风险,并确保符合安全和编码标准。
Linx Printing
Technologies在英国剑桥郡,历史可以追溯到1987年。经过30多年的发展,该公司的喷码与标识设备已经销往全球90多个国家及地区。
挑战:帮助Linx开发人员构建更高质量的代码
Omara Williams是Linx公司软件工程经理,领导嵌入式软件团队,负责Linx产品上运行的软件质量和安全。
Omara
Williams介绍到:“我们需要这款嵌入式软件能够实时运行,这面临着许多挑战。例如,需要全天候与生产线保持通信,在几乎所有情况下,Linx打印机和软件都需要不间断地正常运行。停机可能会导致生产线运作中断、产品标签产生错误,最终导致客户蒙受经济损失。”
解决方案:借助Coverity静态应用安全测试制定“零缺陷”策略
Omara Williams的首要任务是通过制定“零缺陷”策略,使团队使用的软件尽可能稳定和安全。在这之前,他们需要先解决掉一些难题。
她指出:“我曾经使用过新思科技的Coverity静态应用安全测试,可以帮忙解决软件安全和质量缺陷问题。但首先,我必须说服Linx管理层,Coverity静态应用安全测试是一项高回报的投资。随即,我向主管重点概述了软件运行的现状以及面临的挑战;这些挑战在未来可能会导致代码稳定性问题;以及如何使用Coverity静态应用安全测试来识别这些问题。最终,他了解到其中的好处,并决定在公司部署Coverity静态应用安全测试。”
同时,还有有一些阻力来自Linx软件开发人员。Omara
Williams本身是一名软件开发人员,对此不足为奇。与大多数开发团队一样,Linx团队的重点是快速生成代码,因此他们通常拒绝引入任何可能减缓开发过程的应用。但是Omara
Williams深知Coverity静态应用安全测试可以帮助Linx开发人员识别关键的软件质量缺陷,以便在开发周期初期就修复这些缺陷,并仍能达到业务发展所需的速度。
Omara Williams表示:“是的,采用新的应用会产生 ‘这会让我们慢下来’、‘会有太多的误报’的顾虑。但我们都认同这一点:我们的当务之急是Linx打印机需要满足客户生产线的要求,客户应该相信Linx打印机上运行的软件是稳定、安全和准确的。我与开发团队每周召开会议,与他们一起审查Coverity静态应用安全测试对代码的分析。他们了解到Coverity静态应用安全测试是一个有用的工具,可以帮助他们更快地编写更可信的代码。我们的下一步是将代码缺陷降至零。”
效果:编码缺陷显著减少
Omara Williams团队使用Coverity静态应用安全测试发现编码缺陷,并及时进行修复。他们对实现“零缺陷”目标的信心增强了。
Omara Williams 说:“我们将Coverity静态应用安全测试整合到Jenkins CI/CD渠道中。我们每天都运行Coverity静态应用安全测试,每晚都查看扫描结果汇总。Coverity静态应用安全测试还与我们的Jira
bug追踪系统集成。当Coverity发现缺陷时,会创建一个相关的Jira票证来追踪其修复进度。”
Omara Williams接着说:“我们基于Feature
Branching工作流开展工作。开发人员在开发新功能时会开启代码的一个新分支。在功能分支通过Coverity静态应用安全测试并获得批准之前,我们不会提交给开发分支。只有通过扫描合格后,我们才能将其合并到开发分支中,然后最终投入生产。”
Linx在2019年设定“零缺陷”目标,在2021年将其实现。随着代码的更改或新代码的引入,Coverity静态应用安全测试将继续帮助Linx识别和修复代码缺陷问题。迄今为止,Coverity静态应用安全测试已经帮Linx分析了170万行代码。在部署后第一年,Coverity静态应用安全测试发现的问题中,有97%得到了解决。在接下来的24个月里,Coverity静态应用安全测试帮助Linx将软件风险控制在极低的水平。
Omara Williams赞赏到:“效果很喜人。凭借Coverity静态应用安全测试,开发人员能及时发现编码错误,更高效地编写代码。一开始,大家担心Coverity会降低开发速度或产生大量误报。而现在我们都把Coverity视为软件团队中的一员。得益于此,开发团队在将代码送去进行质量评估之前,就已经发现其中的问题并解决掉。”
Omara Williams总结道:“采用Coverity静态应用安全测试的项目非常成功,我们与新思科技的合作非常愉快。在过去36个月里,Linx取得了斐然的成绩,像是开启了一段令人难忘的软件安全之旅。在安装和维护期间,我们获得了新思科技技术人员和客户服务团队的大力支持。支持团队响应迅速,效率高,在规定的时间内回应了我们所有的请求。” |