运行时错误

运行时错误最常是指在执行程序期间出现的问题。运行时错误可能会在软件或硬件中发生,导致它发生故障。他们很重要,因为它们可能导致严重的安全,安全或业务运行问题。软件运行时误差包括算术例外等逻辑错误。它们还可以包括控制和数据流相关的缺陷,例如未初始化的变量或指针,内存相关的缺陷,例如缓冲区溢出,或诸如竞争条件的并发缺陷。PolySpace静态分析可以为运行时错误检测提供解决方案。

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

运行时错误可能会导致高完整性应用程序的关键系统出现故障,从而导致灾难性的结果。在一些引人注目的例子中,运行时错误被指责为系统故障的根本原因。这些错误包括算术溢出运行时错误,导致火箭上的机载计算机崩溃,以及竞争条件运行时错误,导致医疗设备注入致命剂量的辐射。

运行时错误检测

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

“在理想的情况下,您想在程序中测试所有可能的行为。这意味着测试至少一次可能的输入或每个可能的决策路径的组合。这是一个高尚的,但完全是不切实际的目标。例如,在软件测试的领域中,Glen Ford Myers描述了一个只有五个决定具有10 ^ 14个独特执行路径的小程序。他指出,如果你可以每五分钟写下,执行和验证一个测试用例,它将需要十亿多年来彻底测试这个程序。显然,理想的情况是超越的,所以你必须使用近似值这一理想。正如您将看到的,功能测试和覆盖测试的组合提供了合理的第二个最佳替代方案。基本方法是选择测试一些功能,一些具有最高概率暴露出错的覆盖率。“[1]

由于可能有万亿可能性来测试,很明显,通过单独测试的运行时间错误检测不足并且效率低。使用更好的解决方案PolySpace静态分析为了检测运行时错误,您可以使用它来验证每个可能的输入组合和每个可能的决策路径。它使用了一种被称为抽象解释的形式方法。这种技术通过在编译时验证软件应用程序的动态/运行时属性,弥合了传统静态分析技术和动态测试之间的差距。

如果没有执行程序本身,抽象解释调查程序的所有可能的运行时行为,不仅证明了复杂的运行时间错误的存在,而且还可以证明他们的缺席。您可以使用PolySpace产品来识别仅在特下载188bet金宝搏定运行时条件下发生的特殊运行时误差。了解更多关于的信息多空间静态分析解

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


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

Alenia Aermacchi.

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