源代码分析(也称为静态代码分析)允许您分析源代码的质量、可靠性和安全性。您可以识别可能危及应用程序安全的缺陷和安全漏洞。基于形式化方法的深层语义静态代码分析还使您能够诊断运行时错误,例如溢出、被零除和非法取消引用的指针。静态分析可以是一种经济高效的方法来度量和跟踪软件质量指标,而无需编写测试用例或检测代码。因为这种分析是自动化的,所以您可以在不执行程序或开发测试用例的情况下分析代码。
基本来源分析技术包括:
- 生成代码质量度量,例如计算代码行数、确定注释密度和评估代码复杂性
- 验证是否符合规范标准,例如米斯拉C®/C++或JSF++(联合打击战斗机飞行器C++)
复杂的技术将源代码分析与应用理论计算机科学基础知识的正式方法结合起来,以解决诸如证明软件不会因运行时错误而失败等问题。
源代码分析和形式化方法的结合使您能够:
- 检测软件缺陷和安全漏洞
- 遵守MISRA、CWE、CERT C、ISO/IEC 17961以及其他标准和网络安全指南
- 证明不存在某些运行时错误
这种全面的方法确保代码中的每个故障点都被标识为已验证失败、未验证失败、可能永远不会执行(死代码)或未验证。这对于安全性尤其重要,因为一个逃逸的缺陷可能危害您的系统,导致悲惨的后果。对网络安全的日益关注带来了类似的挑战,因为只需一个软件漏洞就可以利用您的应用程序。
有关使用形式化方法的源代码分析工具的详细信息,请参阅多空间®s manbetx 845产品:多空间Bug查找器™,多空间码验证器™和Ada的Polysps manbetx 845ace产品.