运行时间错误

运行时错误通常是指在程序执行期间出现的问题。运行时错误可能发生在软件或硬件中,从而导致故障。检测它们非常重要,因为它们可能导致关键的安全性、安全性或业务操作问题。软件运行时错误包括算术异常等逻辑错误。它们还可以包括与控制和数据流相关的缺陷(如未初始化变量或指针)、与内存相关的缺陷(如缓冲区溢出)或并发缺陷(如竞争条件)。Polyspace静态分析可以为运行时错误检测提供解决方案。

为什么要担心运行时错误?

运行时差可能导致高完整性应用程序的关键系统失败,导致灾难性的结果。运行时错误被归咎于高调示例中系统故障的根本原因。这些包括算术溢出运行时误差,该时间误差落后于火箭的板载计算机,以及竞争条件运行时误差,这导致医疗器械注入致命的辐射量。

运行时错误检测

对高完整性应用程序执行运行时错误检测至关重要。但是,这种错误检测是具有挑战性的,因为它涉及预期所有可能的软件执行。如下所述,预测所有路径都很困难:

“在理想情况下,您希望测试程序中的每一个可能的行为。这意味着至少要测试每一个可能的输入组合或每一个可能的决策路径一次。这是一个崇高但完全不切实际的目标。例如,在《软件测试的艺术》一书中,Glen Ford Myers描述了一个只有5个决策的小程序,它有10^14条独特的执行路径。他指出,如果您可以每五分钟编写、执行和验证一个测试用例,那么将需要10亿年的时间来彻底测试这个程序。显然,理想的情况是无法达到的,所以必须使用这种理想的近似值。正如您将看到的,功能测试和覆盖率测试的结合提供了一个合理的次优选择。基本的方法是选择测试的某些功能和某些覆盖,这些覆盖最有可能暴露错误。”[1]

由于可能有数万亿种可能性需要进行测试,很明显,仅通过测试的方式进行运行时错误检测是不够的和效率低下的。更好的解决办法是使用Polyspace静态分析要检测运行时错误,可以使用它来验证每个可能的决策路径的所有可能的输入组合。它使用了一种称为抽象解释的正式方法。该技术通过在编译时间验证软件应用程序的动态/运行时性能来桥接传统静态分析技术与动态测试之间的差距。

在不执行程序本身的情况下,抽象解释研究了程序的所有可能的运行时行为,不仅证明了复杂运行时错误的存在,而且还证明了它们的不存在。您可以使用Polyspace产品来识别那些只下载188bet金宝搏在特定运行时条件下发生的特殊运行时错误。了解更多有关Polyspace静态分析解决方案

结合抽象解释和静态代码分析,您可以:


1伯杰:“嵌入式软件测试的基础知识2011年,“嵌入式。。

阿莱尼亚·马基公司

“对我们来说,基于模型的设计的一个关键优势是能够专注于设计和开发,而不是低级的编码、验证和认证任务。其结果是更高的质量,通过DO-178B认证的软件,以及更快的迭代。”