静态代码分析是一种软件验证活动,它分析源代码的质量、可靠性和安全性。您可以识别可能危及应用程序安全性的缺陷和安全漏洞。基于正式方法的深层语义静态代码分析还使您能够诊断运行时错误,比如溢出、除以0和非法解除引用的指针。静态分析是一种成本效益高的方法,可以度量和跟踪软件质量指标,而不需要编写测试用例或测试代码。与其他验证技术相比,静态代码分析是自动化的,这意味着您可以在不执行程序或不开发测试用例的情况下进行此分析。
基本的静态代码分析技术包括:
- 生成代码质量度量,例如计算代码行数、确定注释密度和评估代码复杂性
- 验证是否符合编码标准,例如MISRA - C®/ c++或JSF + +(联合攻击战斗机空中载具c++)
复杂的技术将静态代码分析与正式的方法。形式化方法应用计算机科学的理论基础来解决软件中的难题,例如证明软件不会因运行时错误而失败。
静态代码分析和形式化方法的结合使您能够:
- 检测软件缺陷和安全漏洞
- 遵守MISRA、CWE、CERT C、ISO/IEC 17961及其他标准和网络安全指南
- 证明没有某些运行时错误
这种方法是全面和完整的,因为代码中的每个失败点都被标识为已证实失败、未证实失败、可能永远不会执行(死代码)或未经证实。这对于安全来说尤其重要,因为一个未被发现的缺陷可能会危及您的系统,导致悲剧性的后果。对网络安全的日益关注也带来了类似的挑战,因为只需一个软件漏洞就可以利用你的应用程序。
有关静态代码分析工具的详细信息,请参阅Polyspace®下载188bet金宝搏产品:Polyspace错误发现者™,Polyspace代码验证™,用于Ada的Poly下载188bet金宝搏space产品。