【24h】

Using Model Checking to Find Serious File System Errors

机译:使用模型检查查找严重的文件系统错误

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

This paper shows how to use model checking to find serious errors in file systems. Model checking is a formal verification technique tuned for finding corner-case errors by comprehensively exploring the state spaces defined by a system. File systems have two dynamics that make them attractive for such an approach. First, their errors are some of the most serious, since they can destroy persistent data and lead to unrecoverable corruption. Second, traditional testing needs an impractical, exponential number of test cases to check that the system will recover if it crashes at any point during execution. Model checking employs a variety of state-reducing techniques that allow it to explore such vast state spaces efficiently. We built a system, FiSC, for model checking file systems. We applied it to three widely-used, heavily-tested file systems: ext3, JFS, and ReiserFS. We found serious bugs in all of them, 32 in total. Most have led to patches within a day of diagnosis. For each file system, FiSC found demonstrable events leading to the unrecoverable destruction of metadata and entire directories, including the file system root directory "/".
机译:本文展示了如何使用模型检查来发现文件系统中的严重错误。模型检查是一种正式的验证技术,已通过全面研究系统定义的状态空间进行调整,以查找极端情况下的错误。文件系统具有两个动态特性,使其对于这种方法具有吸引力。首先,它们的错误是一些最严重的错误,因为它们会破坏持久数据并导致不可恢复的损坏。其次,传统测试需要不切实际,呈指数形式的测试用例,以检查系统在执行过程中的任何时间崩溃时是否可以恢复。模型检查采用多种减少状态的技术,可以有效地探索如此庞大的状态空间。我们建立了一个用于模型检查文件系统的系统FiSC。我们将其应用于三个经过广泛测试的文件系统:ext3,JFS和ReiserFS。我们发现了所有这些中的严重错误,共有32个错误。大多数在诊断的一天之内导致了补丁。对于每个文件系统,FiSC发现了可证明的事件,这些事件导致元数据和整个目录(包括文件系统根目录“ /”)的不可恢复的破坏。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号