首页> 外文学位 >Tools and Techniques for the Sound Verification of Low-Level Code.
【24h】

Tools and Techniques for the Sound Verification of Low-Level Code.

机译:低级代码的声音验证的工具和技术。

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

摘要

Software plays an increasingly crucial role in nearly every facet of modern life, from communications infrastructure to control systems in automobiles, airplanes, and power plants. To achieve the highest degree of reliability for the most critical pieces of software, it is necessary to move beyond ad hoc testing and review processes towards verification---to prove using formal methods that a program exhibits exactly those behaviors allowed by its specification and no others.;A significant portion of the existing software infrastructure is written in low-level languages like C and C++. Features of these languages present significant verification challenges. For example, unrestricted pointer manipulation means that we cannot prove even the simplest properties of programs without first collecting precise information about potential aliasing relationships between variables.;In this thesis, I present several contributions to the field of program verification. The first is a general framework for combining program analyses that are only conditionally sound. Using this framework, I show it is possible to design a sound verification tool that relies on a separate, previously-computed pointer analysis.;The second contribution of this thesis is CASCADE, a multi-platform, multiparadigm framework for verification. CASCADE includes support for precise analysis of low-level C code, as well as for higher-level languages such as SPL.;Finally, I describe a novel technique for the verification of datatype invariants in low-level systems code. The programmer provides a high-level specification for a low-level implementation in the form of inductive datatype declarations and code assertions. The connection between the high-level semantics and the implementation code is then checked using bit-precise reasoning. An implementation of this datatype verification technique is available as a C ASCADE module.
机译:从通讯基础设施到汽车,飞机和发电厂的控制系统,软件在现代生活的各个方面都扮演着越来越重要的角色。为了使最关键的软件达到最高的可靠性,有必要从临时测试和审阅过程转向验证-要使用正式方法证明程序能够准确显示其规范所允许的行为,并且没有其他;;现有软件基础结构的很大一部分是用低级语言(例如C和C ++)编写的。这些语言的功能提出了重大的验证挑战。例如,无限制的指针操作意味着即使不首先收集有关变量之间潜在的别名关系的精确信息,我们也无法证明程序的最简单特性。在本文中,我对程序验证领域做出了一些贡献。第一个是用于组合仅在条件上合理的程序分析的通用框架。使用该框架,我证明有可能设计一个依赖于单独的,先前计算的指针分析的声音验证工具。本论文的第二个贡献是CASCADE,一种用于验证的多平台,多范式框架。 CASCADE包括对低级C代码以及高级语言(例如SPL)的精确分析的支持。最后,我介绍了一种用于验证低级系统代码中数据类型不变式的新颖技术。程序员以归纳数据类型声明和代码断言的形式为低级实现提供了高级规范。然后,使用位精确推理来检查高级语义与实现代码之间的连接。此数据类型验证技术的实现可用作C ASCADE模块。

著录项

  • 作者

    Conway, Christopher L.;

  • 作者单位

    New York University.;

  • 授予单位 New York University.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2011
  • 页码 101 p.
  • 总页数 101
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号