在不执行代码的情况下提高代码质量
源代码分析(也称为静态代码分析)让您分析源代码的质量、可靠性和安全性。您可以识别可能危及应用程序安全性的缺陷和安全漏洞。基于形式化方法的深度语义静态代码分析还使您能够诊断运行时错误,例如溢出、除零和非法解引用指针。静态分析是一种具有成本效益的方法,可以测量和跟踪软件质量指标,而不需要编写测试用例或测试代码。因为这种分析是自动化的,您可以在不执行程序或开发测试用例的情况下分析代码。
基本的源分析技术包括:
- 生成代码质量度量,例如计算代码行数、确定注释密度和评估代码复杂性
- 验证是否符合代码标准,例如MISRA - C®/ c++或JSF(联合攻击战斗机和飞行器c++)
复杂的技术将源代码分析与应用计算机科学理论基础的形式化方法相结合,以解决诸如证明软件不会因运行时错误而失败等问题。
源代码分析和形式化方法的组合使您能够:
- 检测软件缺陷和安全漏洞
- 符合MISRA, CWE, CERT C, ISO/IEC 17961和其他标准和网络安全指南
- 证明不存在某些运行时错误
这种全面的方法确保代码中的每个故障点都被标识为已证明失败、已证明没有失败、可能永远不会执行(死代码)或未证明。这对于安全性来说尤其重要,因为一个未逃脱的缺陷就可能危及您的系统,导致悲惨的后果。对网络安全日益增长的担忧也带来了类似的挑战,因为只需一个软件漏洞就可以利用您的应用程序。
有关使用形式化方法的源代码分析工具的详细信息,请参见Polyspace®2022世界杯八强谁会赢?产品:Polyspace Bug Finder™,Polyspace Code Prover™,Polyspace的2022世界杯八强谁会赢?Ada产品.
例子和如何
- 使用Polyspace静态代码分析解决网络安全问题-产品特点
- 检查Polyspace产品的MISRA代码规则符合性2022世界杯八强谁会赢?5:09——视频
- 使用Polyspace静态代码分析避免运行周期错误-产品特点
- 使用Polyspace静态代码分析来发现死代码-产品特点
- 使用Polyspace静态代码分析解决并发性缺陷-产品特点
- 基于模型设计的早期验证和验证- MathWorks Consulting
参见:使用Polyspace产品进行静态分析2022世界杯八强谁会赢?,验证、验证和测试,嵌入式系统,抽象的解释,代码评审,圈复杂度,正式的方法,软件度量,软件质量保证,软件质量目标,静态代码分析