【24h】

Abstraction and Genericity in Why3

机译:在为什么的抽象和易用性

获取原文

摘要

The benefits of modularity in programming-abstraction barriers, which allow hiding implementation details behind an opaque interface, and genericity, which allows specializing a single implementation to a variety of underlying data types- apply just as well to deductive program verification, with the additional advantage of helping the automated proof search procedures by reducing the size and complexity of the premises and by instantiating and reusing once-proved properties in a variety of contexts In this paper, we demonstrate the modularity features of WhyML, the language of the program verification tool Why3. Instead of separating abstract interfaces and fully elaborated implementations, WhyML uses a single concept of module, a collection of abstract and concrete declarations, and a basic operation of cloning which instantiates a module with respect to a given partial substitution, while verifying its soundness. This mechanism brings into WhyML both abstraction and genericity, which we illustrate on a small verified Bloom filter implementation, translated into executable idiomatic C code.
机译:模块化在编程抽象障碍中的好处,这允许隐藏不透明界面和常见性背后的实现细节,这允许专门从事各种底层数据类型 - 适用于额外的优势通过降低房屋的尺寸和复杂性以及通过在本文的各种情况下实例化和重复验证和重复验证一次验证的属性来帮助自动证明搜索程序,我们展示了WHYML的模块化特征,程序验证工具的语言为什么。 WhyM1使用模块的单个概念,抽象和具体声明的集合以及克隆的基本操作,而不是分离抽象界面,而是将模块相对于给定部分替换的基本操作,同时验证其声音。该机制带来了抽象和易用性的WHYML,我们在小型验证的绽放过滤器实现上说明,转换为可执行的惯用C代码。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号