TY - GEN
T1 - Metis
T2 - 22nd USENIX Conference on File and Storage Technologies, FAST 2024
AU - Liu, Yifei
AU - Adkar, Manish
AU - Holzmann, Gerard
AU - Kuenning, Geoff
AU - Liu, Pei
AU - Smolka, Scott A.
AU - Su, Wei
AU - Zadok, Erez
N1 - Publisher Copyright:
© 2024 by The USENIX Association All Rights Reserved.
PY - 2024
Y1 - 2024
N2 - We present Metis, a model-checking framework designed for versatile, thorough, yet configurable file system testing in the form of input and state exploration. It uses a nondeterministic loop and a weighting scheme to decide which system calls and their arguments to execute. Metis features a new abstract state representation for file-system states in support of efficient and effective state exploration. While exploring states, it compares the behavior of a file system under test against a reference file system and reports any discrepancies; it also provides support to investigate and reproduce any that are found. We also developed RefFS, a small, fast file system that serves as a reference, with special features designed to accelerate model checking and enhance bug reproducibility. Experimental results show that Metis can flexibly generate test inputs; also the rate at which it explores file-system states scales nearly linearly across multiple nodes. RefFS explores states 3–28× faster than other, more mature file systems. Metis aided the development of RefFS, reporting 11 bugs that we subsequently fixed. Metis further identified 12 bugs from five other file systems, five of which were confirmed and with one fixed and integrated into Linux.
AB - We present Metis, a model-checking framework designed for versatile, thorough, yet configurable file system testing in the form of input and state exploration. It uses a nondeterministic loop and a weighting scheme to decide which system calls and their arguments to execute. Metis features a new abstract state representation for file-system states in support of efficient and effective state exploration. While exploring states, it compares the behavior of a file system under test against a reference file system and reports any discrepancies; it also provides support to investigate and reproduce any that are found. We also developed RefFS, a small, fast file system that serves as a reference, with special features designed to accelerate model checking and enhance bug reproducibility. Experimental results show that Metis can flexibly generate test inputs; also the rate at which it explores file-system states scales nearly linearly across multiple nodes. RefFS explores states 3–28× faster than other, more mature file systems. Metis aided the development of RefFS, reporting 11 bugs that we subsequently fixed. Metis further identified 12 bugs from five other file systems, five of which were confirmed and with one fixed and integrated into Linux.
UR - https://www.scopus.com/pages/publications/85194143851
M3 - Conference contribution
AN - SCOPUS:85194143851
T3 - Proceedings of the 22nd USENIX Conference on File and Storage Technologies, FAST 2024
SP - 123
EP - 140
BT - Proceedings of the 22nd USENIX Conference on File and Storage Technologies, FAST 2024
PB - USENIX Association
Y2 - 27 February 2024 through 29 February 2024
ER -