首页> 外文OA文献 >A methodology for trustworthy file systems
【2h】

A methodology for trustworthy file systems

机译:值得信赖的文件系统的方法

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

The main contribution of this thesis is a methodology for designing, implementing and verifying realistic file systems with evidence of its effectiveness by application to a non-trivial flash file system. The goal of this research is to demonstrate that an implementation level machine-checked proof of correctness of a file system can be done at reasonable cost.Our approach leverages Cogent, a purely functional, memory- and type-safe language we helped design, that bridges the gap between verifiable formal model and low-level code. Cogent takes a modular file system implementation as input and generates a C implementation and a formal proof that links it to its corresponding generated Cogent specification. Cogent specifications inherit the purely functional aspect of the input source code, and thus they proved much easier to reason about than the C code directly.In order to prove the correctness of complex file system components at reasonable cost, we decompose the functionality into a set of components such that the correctness of each can be proven in isolation. The component proofs are mechanically composed into a theorem that holds on the C implementation by refinement.To validate our approach, we designed and implemented BilbyFs, a modular flash file system. We formally specified BilbyFs' file system operations in Isabelle/HOL, and proved the functional correctness of two key operations: sync() and iget().BilbyFs' design demonstrates the practicality of aggressive modular decomposition, and its Cogent implementation highlights the benefits and feasibility of using a linearly-typed language to implement a realistic file system. Our verification results show that we can exploit our modular design to reason about implementation components in isolation, and that overall our methodology drastically reduces the effort of verifying file system code.
机译:本文的主要贡献是一种设计,实现和验证现实文件系统的方法,并通过将其应用于非平凡的闪存文件系统来证明其有效性。这项研究的目的是证明可以以合理的成本完成实施级别的机器检查的文件系统正确性证明。我们的方法利用了我们帮助设计的纯功能,内存和类型安全语言Cogent,弥合可验证的形式模型与低级代码之间的鸿沟。 Cogent将模块化文件系统实现作为输入,并生成C实现和将其链接到其相应的已生成Cogent规范的形式证明。 Cogent规范继承了输入源代码的纯功能方面,因此证明比C代码更容易推理。为了以合理的成本证明复杂文件系统组件的正确性,我们将功能分解为一组组件的正确性,这样可以孤立地证明每个组件的正确性。组件证明被机械化为一个定理,该定理通过精炼保持在C实现中。为了验证我们的方法,我们设计并实现了模块化Flash文件系统BilbyFs。我们在Isabelle / HOL中正式指定了BilbyFs的文件系统操作,并证明了两个关键操作的功能正确性:sync()和iget()。BilbyFs的设计演示了积极的模块化分解的实用性,其Cogent实现突出了其好处和优势。使用线性语言实现现实的文件系统的可行性。我们的验证结果表明,我们可以利用模块化设计来隔离实现组件,并且总体而言,我们的方法极大地减少了验证文件系统代码的工作量。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号