形式化方法应用计算机科学理论基础来解决软件中的难题,例如证明软件不会因运行时错误而失败。一个例子是抽象的解释,一种数学上严格的方法来证明软件的正确性。用于验证目的的形式化方法(也称为形式验证)可以帮助提高软件的可靠性和健壮性。
传统的软件验证方法依赖于测试来验证行为和健壮性,但测试只能显示错误的存在,而不能显示错误的缺失。相反,形式方法使用数学来证明某些事实或性质。因此,验证基于形式方法的技术可以最终证明软件的某些属性,例如证明软件是否包含运行时错误,包括溢出、除以零和非法解引用的指针。
使用正式的方法静态代码分析执行代码验证以识别和诊断运行时错误。使用由这个过程产生的度量标准来度量和改进软件质量。因为基于正式方法的静态代码分析是自动化的,所以您可以在不执行软件或开发测试用例的情况下进行分析。
您可以使用静态分析工具,这些工具使用正式的方法来完成以下任务:
- 检测难以捉摸的运行时错误
- 证明不存在某些运行时错误
- 生成代码质量度量并检查源代码是否符合代码标准,例如MISRA - C和JSF + +
使用这种全面的、完整的方法,您可以将代码中的每个故障点标识为已证实会失败、已证实不会失败、可能永远不会执行(死代码)或未证实的。摘要解释首先用于验证阿丽亚娜5运载火箭的软件,以检测一个64位浮点变量转换为有符号16位整数的溢出错误。它是通过基于形式方法的抽象解释进行大规模静态代码分析的第一个例子。
有关详细信息,请参见Polyspace®下载188bet金宝搏产品。