Scalable testing of file system checkers

Scalable testing of file system checkers
复制标题

文件系统检查器的可扩展测试

DOI:
--
复制
发表时间:
2012
期刊:
European Conference on Computer Systems
影响因子:
--
通讯作者:
R. Majumdar
R. Majumdar
中科院分区:
--
文献类型:
--
作者:
J. Carreira;R. Rodrigues;George Candea;R. Majumdar

文献摘要

被引文献

相似文献

文件系统检查器(例如E2FSCK)至关重要,复杂且难以开发,今天的开发人员依靠手写测试来行使此复杂的代码。文件系统检查器的测试套件需要大量精力来开发,并需要仔细的推理以涵盖足够全面的输入和恢复机制。我们提出了一种用于测试文件系统检查器的工具和方法,该工具和方法减少了对恢复过程的规范和测试套件的开发的需求。我们的方法将检查器的正确性分为两个目标:恢复的一致性和完整性。对于每个目标,我们利用文件系统检查器代码本身或多个检查器的输出之间的比较来提取正确行为的隐式规范。我们的方法体现在称为Swift的测试工具中,该工具使用符号和具体执行的混合物;它介绍了两种新技术:一种特定的具体策略和一个利用文件系统检查器的套件的损坏模型。我们使用Swift测试Ext2,Ext3,Ext4,Reiserfs和Minix的文件系统检查器;我们在所有检查器中发现了错误,包括导致数据丢失的案件。此外,我们将自动生成的测试套件在与Checkers一起运送的手动构造的测试套件中,在标准架上实现了代码覆盖范围。
File system checkers (like e2fsck) are critical, complex, and hard to develop, and developers today rely on hand-written tests to exercise this intricate code. Test suites for file system checkers take a lot of effort to develop and require careful reasoning to cover a sufficiently comprehensive set of inputs and recovery mechanisms. We present a tool and methodology for testing file system checkers that reduces the need for a specification of the recovery process and the development of a test suite. Our methodology splits the correctness of the checker into two objectives: consistency and completeness of recovery. For each objective, we leverage either the file system checker code itself or a comparison among the outputs of multiple checkers to extract an implicit specification of correct behavior. Our methodology is embodied in a testing tool called SWIFT, which uses a mix of symbolic and concrete execution; it introduces two new techniques: a specific concretization strategy and a corruption model that leverages test suites of file system checkers. We used SWIFT to test the file system checkers of ext2, ext3, ext4, ReiserFS, and Minix; we found bugs in all checkers, including cases leading to data loss. Additionally, we automatically generated test suites achieving code coverage on par with manually constructed test suites shipped with the checkers.