首页> 外文会议>Software engineering and formal methods >Focused Certification of an Industrial Compilation and Static Verification Toolchain
【24h】

Focused Certification of an Industrial Compilation and Static Verification Toolchain

机译:工业编译和静态验证工具链的重点认证

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

摘要

SPARK 2014 is a subset of the Ada 2012 programming language that is supported by the GNAT compilation toolchain and multiple open source static analysis and verification tools. These tools can be used to verify that a SPARK 2014 program does not raise language-defined run-time exceptions and that it complies with formal specifications expressed as subprogram contracts. The results of analyses at source code level are valid for the final executable only if it can be shown that compilation/verification tools comply with a common deterministic programming language semantics. In this paper, we present: (a) a mechanized formal semantics for a large subset of SPARK 2014, (b) an architecture for creating certified/certifying analysis and verification tools for SPARK, and (c) tools and mechanized proofs that instantiate that architecture to demonstrate that SPARK-relevant Ada run-time checks inserted by the GNAT compiler are correct; this includes mechanized proofs of correctness for abstract interpretation-based static analyses that are used to certify correctness of GNAT run-time check optimizations. A by-product of this work is a substantial amount of open source infrastructure that others in academia and industry can use to develop mechanized semantics, and mechanically verified correctness proofs for analyzers/verifiers for realistic programming languages.
机译:SPARK 2014是Ada 2012编程语言的子集,受到GNAT编译工具链和多个开源静态分析和验证工具的支持。这些工具可用于验证SPARK 2014程序没有引发语言定义的运行时异常,并且符合表示为子程序合同的正式规范。仅在可以证明编译/验证工具符合通用的确定性编程语言语义的情况下,源代码级的分析结果才对最终可执行文件有效。在本文中,我们介绍:(a)SPARK 2014的大部分子集的机械化形式语义,(b)用于创建SPARK的认证/认证分析和验证工具的体系结构,以及(c)实例化该SPARK的工具和机械化证明该体系结构证明GNAT编译器插入的与SPARK相关的Ada运行时检查是正确的;这包括基于抽象解释的静态分析的机械化正确性证明,该静态分析用于证明GNAT运行时检查优化的正确性。这项工作的副产品是大量开源基础结构,学术界和行业中的其他人可以使用这些基础结构来开发机械化的语义,并为现实编程语言的分析器/验证器提供机械验证的正确性证明。

著录项

  • 来源
  • 会议地点 Trento(IT);Vienna(AU)
  • 作者单位

    Kansas State University, Manhattan, Kansas, USA;

    Kansas State University, Manhattan, Kansas, USA;

    Kansas State University, Manhattan, Kansas, USA;

    AdaCore, Paris, Prance;

    Conservatoire National des Arts et Metiers, Paris, Prance;

  • 会议组织
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号