{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,3]],"date-time":"2025-11-03T23:02:57Z","timestamp":1762210977606,"version":"3.41.0"},"reference-count":65,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,5,18]],"date-time":"2020-05-18T00:00:00Z","timestamp":1589760000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"ETRI IITP\/KEIT","award":["2014-3-00035"],"award-info":[{"award-number":["2014-3-00035"]}]},{"name":"ONR","award":["N00014-18-1-2662, N00014-15-1-2162, N00014-17-1- 2895"],"award-info":[{"award-number":["N00014-18-1-2662, N00014-15-1-2162, N00014-17-1- 2895"]}]},{"name":"DARPA AIMEE"},{"name":"NSF","award":["CNS-1563848, CNS-1704701, CRI1629851 and CNS-1749711"],"award-info":[{"award-number":["CNS-1563848, CNS-1704701, CRI1629851 and CNS-1749711"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2020,5,31]]},"abstract":"<jats:p>File systems are too large to be bug free. Although handwritten test suites have been widely used to stress file systems, they can hardly keep up with the rapid increase in file system size and complexity, leading to new bugs being introduced. These bugs come in various flavors: buffer overflows to complicated semantic bugs. Although bug-specific checkers exist, they generally lack a way to explore file system states thoroughly. More importantly, no turnkey solution exists that unifies the checking effort of various aspects of a file system under one umbrella.<\/jats:p>\n          <jats:p>\n            In this article, to highlight the potential of applying fuzzing to find any type of file system bugs in a generic way, we propose H\n            <jats:sc>ydra<\/jats:sc>\n            , an extensible fuzzing framework. H\n            <jats:sc>ydra<\/jats:sc>\n            provides building blocks for file system fuzzing, including input mutators, feedback engines, test executors, and bug post-processors. As a result, developers only need to focus on building the core logic for finding bugs of their interests. We showcase the effectiveness of H\n            <jats:sc>ydra<\/jats:sc>\n            with four checkers that hunt crash inconsistency, POSIX violations, logic assertion failures, and memory errors. So far, H\n            <jats:sc>ydra<\/jats:sc>\n            has discovered 157 new bugs in Linux file systems, including three in verified file systems (FSCQ and Yxv6).\n          <\/jats:p>","DOI":"10.1145\/3391202","type":"journal-article","created":{"date-parts":[[2020,5,19]],"date-time":"2020-05-19T10:09:28Z","timestamp":1589882968000},"page":"1-35","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Finding Bugs in File Systems with an Extensible Fuzzing Framework"],"prefix":"10.1145","volume":"16","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9990-7953","authenticated-orcid":false,"given":"Seulbae","family":"Kim","sequence":"first","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]},{"given":"Meng","family":"Xu","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]},{"given":"Sanidhya","family":"Kashyap","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]},{"given":"Jungyeon","family":"Yoon","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]},{"given":"Wen","family":"Xu","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]},{"given":"Taesoo","family":"Kim","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology, West Peachtree Street NW, Atlanta, GA"}]}],"member":"320","published-online":{"date-parts":[[2020,5,18]]},"reference":[{"volume-title":"Retrieved","year":"2017","author":"Bacik Josef","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/TDSC.2004.4"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134020"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2976749.2978428"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872406"},{"volume-title":"Proceedings of the USENIX Linux Storage and Filesystem Workshop.","year":"2007","author":"Cao Mingming","key":"e_1_2_1_6_1"},{"volume-title":"Retrieved","year":"2018","author":"Chajed Tej","key":"e_1_2_1_7_1"},{"volume-title":"Retrieved","year":"2019","author":"Chajed Tej","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132776"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815402"},{"volume-title":"Proceedings of the 3rd USENIX Conference on File and Storage Technologies (FAST\u201904)","year":"2004","author":"Corbett Peter","key":"e_1_2_1_11_1"},{"volume-title":"Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201914)","author":"Fonseca Pedro","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/2208461.2208468"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2018.00040"},{"volume-title":"Retrieved","year":"2016","key":"e_1_2_1_15_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_16_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_17_1"},{"volume-title":"Retrieved","year":"2015","key":"e_1_2_1_18_1"},{"volume-title":"Retrieved","year":"2019","key":"e_1_2_1_19_1"},{"volume-title":"Coverage-Guided Kernel Fuzzer. Retrieved","year":"2019","key":"e_1_2_1_20_1"},{"volume-title":"Retrieved","year":"2009","author":"Gribincea Bogdan","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.68"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133956.3134103"},{"volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","year":"2018","author":"Ileri Atalay","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00017"},{"volume-title":"Retrieved","year":"2018","author":"Jones Dave","key":"e_1_2_1_26_1"},{"volume-title":"Retrieved","year":"2014","author":"Kara Jan","key":"e_1_2_1_27_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_28_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_29_1"},{"volume-title":"Retrieved","year":"2019","author":"Kerrisk Michael","key":"e_1_2_1_30_1"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359662"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837648"},{"volume-title":"Retrieved","year":"2019","author":"Dev Team LLVM","key":"e_1_2_1_33_1"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2017.23387"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2560012"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the Workshop on the Evaluation of Software Defect Detection Tools","volume":"5","author":"Lu Shan","year":"2005"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815422"},{"key":"e_1_2_1_38_1","first-page":"2009","volume-title":"Retrieved","author":"MITRE Corporation","year":"2009"},{"volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","year":"2018","author":"Mohan Jayashree","key":"e_1_2_1_39_1"},{"volume-title":"Runtime Locking Correctness Validator. Retrieved","year":"2020","author":"Molnar Ingo","key":"e_1_2_1_40_1"},{"volume-title":"Retrieved","year":"2017","author":"NCC Group","key":"e_1_2_1_41_1"},{"volume-title":"Proceedings of the 27th USENIX Security Symposium.","year":"2018","author":"Pailoor Shankara","key":"e_1_2_1_42_1"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132785"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2018.00056"},{"volume-title":"Proceedings of the 20th ACM Symposium on Operating Systems Principles (SOSP\u201905)","author":"Prabhakaran Vijayan","key":"e_1_2_1_45_1"},{"volume-title":"Proceedings of the 9th Roedunet International Conference (RoEduNet\u201910)","year":"2010","author":"Purdila Octavian","key":"e_1_2_1_46_1"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.14722\/ndss.2017.23404"},{"volume-title":"Retrieved","year":"2018","author":"Red Hat Inc.","key":"e_1_2_1_48_1"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815411"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501620.2501623"},{"volume-title":"Retrieved","year":"2014","author":"Ryabinin Andrey","key":"e_1_2_1_51_1"},{"volume-title":"Proceedings of the 26th USENIX Security Symposium.","year":"2017","author":"Schumilo Sergej","key":"e_1_2_1_52_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_53_1"},{"volume-title":"Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201916)","year":"2016","author":"Sigurbjarnarson Helgi","key":"e_1_2_1_54_1"},{"volume-title":"Retrieved","year":"2018","author":"Silicon Graphics Inc. (SGI).","key":"e_1_2_1_55_1"},{"volume-title":"Retrieved","year":"2018","author":"Ts\u2019o Theodore","key":"e_1_2_1_56_1"},{"volume-title":"Retrieved","year":"2019","author":"Ts\u2019o Theodore","key":"e_1_2_1_57_1"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2019.00035"},{"volume-title":"Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201906)","year":"2006","author":"Yang Junfeng","key":"e_1_2_1_59_1"},{"volume-title":"Proceedings of the 27th IEEE Symposium on Security and Privacy (Oakland).","year":"2006","author":"Yang Junfeng","key":"e_1_2_1_60_1"},{"volume-title":"Proceedings of the 6th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201904)","year":"2004","author":"Yang Junfeng","key":"e_1_2_1_61_1"},{"volume-title":"Retrieved","year":"2018","author":"Yu Chao","key":"e_1_2_1_62_1"},{"volume-title":"Retrieved","year":"2014","author":"Zalewski Michal","key":"e_1_2_1_63_1"},{"volume-title":"Retrieved","year":"2019","author":"Zalewski Michal","key":"e_1_2_1_64_1"},{"volume-title":"Retrieved","year":"2019","author":"Zeller Andreas","key":"e_1_2_1_65_1"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3391202","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3391202","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3391202","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:37Z","timestamp":1750199917000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3391202"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,5,18]]},"references-count":65,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,5,31]]}},"alternative-id":["10.1145\/3391202"],"URL":"https:\/\/doi.org\/10.1145\/3391202","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"type":"print","value":"1553-3077"},{"type":"electronic","value":"1553-3093"}],"subject":[],"published":{"date-parts":[[2020,5,18]]},"assertion":[{"value":"2020-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-05-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}