首页> 外文学位 >Formal verification of device drivers in embedded systems.
【24h】

Formal verification of device drivers in embedded systems.

机译:嵌入式系统中设备驱动程序的形式验证。

获取原文
获取原文并翻译 | 示例

摘要

Embedded systems are often deployed in a variety of mission-critical fields, such as car control systems, the artificial pace maker, and the Mars rover. There is usually significant monetary value or human safety associated with such systems. It is thus desirable to prove that they work as intended or at least do not behave in a harmful way.;There has been considerable effort to prove the correctness of embedded systems. However, most of this effort is based on the assumption that embedded systems do not have any peripheral devices and interrupt handling. This is too idealistic because embedded systems typically depend on some peripheral devices to provide their functionality, and in most cases these peripheral devices interact with the processor core through interrupts so that the system can support multiple devices in a real time fashion.;My research, which focuses on constrained embedded systems, provides a framework for verifying realistic device driver software at the machine code level. The research has two parts.;In the first part of my research, I created an abstract device model that can be plugged into an existing formal semantics for an instruction set architecture. Then I instantiated the abstract model with a model for the serial port for a real embedded processor, and plugged it into the ARM6 instruction set architecture (ISA) model from the University of Cambridge, and verified full correctness of a polling-based open source driver for the serial port.;In the second part, I expanded the abstract device model and the serial port model to support interrupts, modified the latest ARMv7 model from the University of Cambridge to be compatible with the abstract device model, and extended the Hoare logic from the University of Cambridge to support hardware interrupt handling. Using this extended tool chain, I verified full correctness of an interrupt-driven open source driver for the serial port.;To the best of my knowledge, this is the first full correctness verification of an interrupt-driven device driver. It is also the first time a device driver with inherent timing constraints has been fully verified. Besides the proof of full correctness for realistic serial port drivers, this research produced an abstract device model, a formal specification of the circular buffer at assembly level, a formal specification for the serial port, a formal ARM system-on-chip (SoC) model which can be extended by plugging in device models, and the inference rules to reason about interrupt-driven programs.
机译:嵌入式系统通常部署在各种关键任务领域,例如汽车控制系统,人工起搏器和火星探测器。这种系统通常具有很高的货币价值或人身安全。因此,希望证明它们按预期工作或至少不会以有害的方式工作。;已经进行了大量的工作来证明嵌入式系统的正确性。但是,大部分工作是基于这样的假设,即嵌入式系统没有任何外围设备和中断处理程序。这太理想化了,因为嵌入式系统通常依赖某些外围设备来提供其功能,并且在大多数情况下,这些外围设备会通过中断与处理器内核进行交互,因此系统可以实时支持多个设备。它着重于受限的嵌入式系统,它提供了一个框架,用于在机器代码级别上验证实际的设备驱动程序软件。研究包括两个部分:在我的研究的第一部分中,我创建了一个抽象的设备模型,该模型可以插入到指令集体系结构的现有形式语义中。然后,我用一个用于真正嵌入式处理器的串行端口模型实例化了抽象模型,并将其插入剑桥大学的ARM6指令集体系结构(ISA)模型中,并验证了基于轮询的开源驱动程序的完全正确性在第二部分中,我扩展了抽象设备模型和串行端口模型以支持中断,并修改了剑桥大学的最新ARMv7模型以使其与抽象设备模型兼容,并扩展了Hoare逻辑来自剑桥大学的支持硬件中断处理。使用这个扩展的工具链,我验证了串行端口的中断驱动的开源驱动程序的完全正确性;据我所知,这是第一次对中断驱动的设备驱动程序进行完整的正确性验证。这也是首次对具有固有时序约束的设备驱动程序进行了充分验证。除了证明现实串行端口驱动程序的完全正确性之外,这项研究还产生了抽象的设备模型,组装级别的循环缓冲区的正式规范,串行端口的正式规范,正式的ARM片上系统(SoC)可以通过插入设备模型进行扩展的模型,以及推理规则以推断中断驱动程序。

著录项

  • 作者

    Duan, Jianjun.;

  • 作者单位

    The University of Utah.;

  • 授予单位 The University of Utah.;
  • 学科 Computer Science.;Engineering Computer.
  • 学位 Ph.D.
  • 年度 2013
  • 页码 160 p.
  • 总页数 160
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号