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