#File System
Creating Pipes in C

Creating pipelines with the C programming language can be a bit more involved than our simple shell example. To create a simple pipe with C, we make use of the pipe() system call.

SibylFS: formal specification and oracle-based testing for POSIX and real-world file systems 阅读

本文提出了一个名为 SibylFS 的文件系统行为规范,可以以黑盒测试方式检查文件系统实现和规范之间的行为差异。

All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications 阅读

本文介绍了基于现代文件系统的应用层崩溃一致性协议的首个全面研究。研究发现,应用程序使用复杂的更新协议来持久化状态,而这些协议的正确性高度依赖于底层文件系统的微妙行为,我们称之为持久性属性。作者开发了一个名为BOB的工具来测试持久性属性,并使用它来证明这些属性在六种流行的Linux文件系统中存在广泛的差异。作者还构建了一个名为ALICE的框架,分析应用程序更新协议并发现崩溃漏洞,即需要特定持久性属性才能保证正确性的更新协议代码。使用ALICE,作者分析了11个广泛使用的系统,并发现了60个漏洞,其中许多会导致严重后果。作者还展示了ALICE可以用于评估新文件系统设计对应用程序级一致性的影响。

Cross-checking Semantic Correctness: The Case of Finding File System Bugs 阅读

主要思路是统计多个文件系统的实现,计算具体文件系统与多个文件系统总体之间的差异性(直方图/信息熵),从而窥探出其文件系统的具体实现在语义上的差异。

账号
访客
本站总访问量 本站访客数