logo Parasoft C/C++test 使用教程 我也要发布文档

Parasoft静态分析帮助电信工具制造商交付高质量的软件


在本文中,我将讨论为什么静态分析是实现软件安全性和质量目标的必备技术的一些原因。我还将分享我们尊贵的客户的静态分析部署之旅之一的一些见解。

在拥挤的关键业务软件领域中脱颖而出的最佳方法之一就是提供满足客户期望的安全、可靠和可信赖的产品。但是,交付无缺陷的软件具有挑战性,特别是如果您的项目利用复杂的结构来优化性能,包含数百万行代码并且受到多家开发人员的青睐。这就是为什么许多企业(例如G3 Technologies,一家提供定制工具和解决方案的无线电信组织)将静态分析作为其开发策略的一部分的原因。查看G3 Technologies案例研究以了解更多信息。



静态分析如何支持代码质量和安全性?


静态分析通过对照已知的编程模式检查代码来帮助组织实现其软件安全和质量目标,这些编程模式使软件容易受到错误和安全漏洞的攻击。静态分析代码检查器寻找可能导致内存泄漏、代码可维护性问题和其他问题的结构,并将这些结构标记为违规。例如,如果使用“goto”或“jump”语句,许多检查器将报告违规,因为它们增加了程序逻辑的复杂性,从而增加了发生软件崩溃错误的可能性。

代码检查器(也称为静态分析规则)基于一组准则,例如MISRA C 2012、CWE Top 25或OWASP Top 10,这些准则已成为许多行业的标准。对于静态分析部署,G3利用了Parasoft对所有主要编程指南的本机支持。此外,Parasoft使您能够自定义使用哪些检查程序分析代码,从而使您能够使用来自多个标准的混合和匹配检查程序,以便您可以针对代码量身定制分析。

G3在其持续集成过程中采用了1000多种Parasoft静态分析规则,可帮助该公司确保生产代码自由且无常见编程问题。在部署Parasoft静态分析工具的前六个月中,G3解决了大约50000个违规问题,其中一些是关键错误,例如类型转换问题,未使用的变量和空指针取消引用。


高昂的软件缺陷成本


虽然发现软件缺陷总是很有价值的,但在开发生命周期的早期发现它们是组织从其静态分析投资中获得最大价值的方式。下表显示了与软件开发生命周期(SDLC)相关的发现缺陷的成本。

在他们的案例研究中,G3强调了在编码阶段发现错误的价值。利用静态分析,G3可以在软件投入生产之前发现编程错误,从而节省了与重新测试,重新认证和重新部署有关的成本。但是,最重要的是,尽早发现缺陷可以使G3与客户保持良好的信誉。他们积极主动地尽早发现尽可能多的错误,使该公司能够快速交付客户期望的高质量软件,同时避免后期缺陷检测带来的成本。

令人惊讶的是,一些公司在其项目中放弃了静态分析。在担任服务项目经理之前,我曾与一位客户签约,负责在三个软件子系统上执行单元测试。该软件包含大约111000行C和C++代码。经过几个月的测试并确定了620多个缺陷,我决定对代码进行静态分析作为实验。我发现在进行一个小时的静态分析后,大约一个小时内就发现了超过80%的通过单元测试发现的缺陷。如果客户采用静态分析并辅以单元测试,则可以为客户节省大量成本。


并非所有的静态分析解决方案都是平等的


如果您已经部署或将要部署静态分析,则表示赞赏。用户为提高代码的安全性和可靠性而采取的任何步骤将受到用户的赞赏。尽管我们赞扬为改进世界软件所做的一切努力,但在决定使用静态分析提供程序之前,您应该考虑对您的组织重要的事情。

毋庸置疑,对于任何静态分析解决方案而言,深入、彻底、准确的代码分析是最低要求。但是,某些供应商将其静态分析技术集中在开发的特定方面,例如安全性。相反,Parasoft的方法是在应用程序中构建质量和安全性。实际上,G3离开其先前的静态分析提供程序而支持Parasoft的原因之一是,其先前的供应商将其关注范围从总体软件质量上缩小了,而将重点放在了对安全性的高度关注上。

除了实现上的差异外,我们建议您寻找能够证明您愿意在静态分析过程中与您合作的静态分析提供商。G3在Parasoft中找到了他们的合作伙伴,因为我们致力于在可预见的将来与G3合作。他们以前的供应商不愿与G3合作改善他们的静态分析解决方案。他们认识到,与静态分析工具提供者合作进行增强,不仅可以帮助他们更有效地分析代码,还可以确保供应商可以帮助G3长期交付高质量的产品。查看G3 Technologies案例研究以了解更多信息。


结论


静态分析是任何软件质量和安全策略的基石部分。质量实践可帮助组织尽早发现软件缺陷,从而降低了软件开发生命周期中质量的总体成本。但是,并非所有静态分析提供程序都相同。如果您正在探索静态分析解决方案或正在寻找新的合作伙伴,请考虑提供商的实施方法,合作伙伴的意愿以及对编程指南的支持如何与您的软件质量和安全性目标保持一致。

Parasoft自豪并荣幸地提供静态分析技术,以帮助G3 Technologies在满足其严格的发布时间表的同时继续交付高质量的软件。Parasoft的软件测试解决方案以及我们与G3的合作关系使Parasoft成为关键的技术合作伙伴,从而确保了G3软件应用程序的首次开发是正确的。Parasoft也已纳入G3的持续集成流程中,以确保在解决所有已确定的缺陷之前,该软件不会投入生产。您可以通过以下链接阅读G3的客户成功案例:G3 Technologies案例研究