【24h】

Modular verification of interrupt-driven software

机译:中断驱动软件的模块化验证

获取原文

摘要

Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification techniques have been proposed for interrupt-driven software, they often rely on constructing a monolithic verification model. Furthermore, they do not precisely capture the complete execution semantics of interrupts such as nested invocations of interrupt handlers. To overcome these limitations, we propose an abstract interpretation framework for static verification of interrupt-driven software that first analyzes each interrupt handler in isolation as if it were a sequential program, and then propagates the result to other interrupt handlers. This iterative process continues until results from all interrupt handlers reach a fixed point. Since our method never constructs the global model, it avoids the up-front blowup in model construction that hampers existing, non-modular, verification techniques. We have evaluated our method on 35 interrupt-driven applications with a total of 22,541 lines of code. Our results show the method is able to quickly and more accurately analyze the behavior of interrupts.
机译:中断已在安全关键型计算机系统中广泛使用,以处理外部刺激并与硬件交互,但是,对中断驱动的软件进行推理仍然是一项艰巨的任务。尽管已为中断驱动的软件提出了许多静态验证技术,但它们通常依赖于构建整体式验证模型。此外,它们不能精确地捕获中断的完整执行语义,例如中断处理程序的嵌套调用。为了克服这些限制,我们提出了一种用于中断驱动程序软件的静态验证的抽象解释框架,该框架首先将每个中断处理程序视为顺序程序来进行隔离分析,然后将结果传播给其他中断处理程序。此迭代过程将继续进行,直到所有中断处理程序的结果达到固定点为止。由于我们的方法从不构造全局模型,因此避免了模型构建中的前期爆破,因为后者会阻碍现有的非模块化验证技术。我们已经在35个中断驱动的应用程序中评估了我们的方法,该应用程序总共有22,541行代码。我们的结果表明,该方法能够快速,准确地分析中断的行为。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号