@inproceedings{c5a2dbda5da6487c9c9bfdcd5e859f31,
title = "Input and Output Coverage Needed in File System Testing",
abstract = "File systems need testing to discover bugs and to help ensure reliability. Many file system testing tools are evaluated based on their code coverage. We analyzed recently reported bugs in Ext4 and BtrFS and found a weak correlation between code coverage and test effectiveness: many bugs are missed because they depend on specific inputs, even though the code was covered by a test suite. Our position is that coverage of system call inputs and outputs is critically important for testing file systems. We thus suggest input and output coverage as criteria for file system testing, and show how they can improve the effectiveness of testing. We built a prototype called IOCov to evaluate the input and output coverage of file system testing tools. IOCov identified many untested cases (specific inputs and outputs or ranges thereof) for both CrashMonkey and xfstests. Additionally, we discuss a method and associated metrics to identify over- and under-testing using IOCov.",
keywords = "code coverage, file system testing, input coverage, output coverage",
author = "Yifei Liu and Gautam Ahuja and Geoff Kuenning and Scott Smolka and Erez Zadok",
note = "Publisher Copyright: {\textcopyright} 2023 ACM.; 2023 15th ACM Workshop on Hot Topics in Storage and File Systems, HotStorage 2023 ; Conference date: 09-07-2023",
year = "2023",
month = jul,
day = "9",
doi = "10.1145/3599691.3603405",
language = "English",
series = "HotStorage 2023 - Proceedings of the 2023 15th ACM Workshop on Hot Topics in Storage and File Systems",
publisher = "Association for Computing Machinery, Inc",
pages = "93--101",
booktitle = "HotStorage 2023 - Proceedings of the 2023 15th ACM Workshop on Hot Topics in Storage and File Systems",
}