This repository contains real-world bug cases curated by Data Storage Lab@ISU and studied in our research projects. Depending on the projects, we may perform a variety of analysis on the bug cases including characterization of bug patterns, reproducibility experiments, bug detection, failure diagnosis, etc. We hope that our efforts and the resulting datasets can inspire follow-up research in the community and help improve system reliability in general.
About the Name: BugBenchk was inspired by the classic work "BugBench: Benchmarks for Evaluating Bug Detection Tools" by Shan Lu, Zhenmin Li, Feng Qin, Lin Tan, Pin Zhou and Yuanyuan Zhou at BugWorkshop'05, which characterized a set of bugs in user-level applications. The "k" denotes the fact that the initial set of bug cases curated in BugBenchk were kernel-level bugs.
BugBenchk Related Publications:
-
"Understanding Persistent-Memory Related Issues in the Linux Kernel", Om Rameshwar Gatla, Duo Zhang, Wei Xu, and Mai Zheng, ACM Transactions on Storage (TOS), 2023.
-
"ConfD: Analyzing Configuration Dependencies of File Systems for Fun and Profit", Tabassum Mahmud, Om Rameshwar Gatla, Duo Zhang, Carson Love, Ryan Bumann, and Mai Zheng, Proceedings of the 21st USENIX Conference on File and Storage Technologies (FAST), 2023.
-
"On the Reproducibility of Bugs in File-System Aware Storage Applications", Duo Zhang, Tabassum Mahmud, Om Rameshwar Gatla, Runzhou Han, Yong Chen, and Mai Zheng, Proceedings of the 16th IEEE International Conference On Networking, Architecture, and Storage (NAS), 2022.
-
"A Study of Persistent Memory Bugs in the Linux Kernel", Duo Zhang, Om R. Gatla, Wei Xu, and Mai Zheng, Proceedings of the 14th ACM International Systems and Storage Conference (SYSTOR), 2021.
-
"Benchmarking for Observability: The Case of Diagnosing Storage Failures", Duo Zhang and Mai Zheng, BenchCouncil Transactions on Benchmarks, Standards and Evaluation (TBench), 2021.
The "PMBugs" folder contains the dataset studied in our paper "A Study of Persistent Memory Bugs in the Linux Kernel", which was published in the Proceedings of the 14th ACM International Systems and Storage Conference (SYSTOR), 2021, and in our journal "Understanding Persistent-Memory Related Issues in the Linux Kernel", which was published in ACM Transactions on Storage (TOS),2023.
By analyzing 1,350 PM related kernel patches in depth, we derive multiple insights in terms of PM patch categories, PM bug patterns, consequences, and fix strategies. Also, we leverage static analyze to identify Persistent Memory Driver issues. We hope our results could contribute to the development of effective PM bug detectors and robust PM-based systems.
The "Tbench" folder contains the dataset information studied in our paper "Benchmarking for Observability: The Case of Diagnosing Storage Failures", which was published in BenchCouncil Transactions on Benchmarks, Standards and Evaluation (TBench), 2021.
Our dataset was used to measure the debugging observability of two general debugging tools: FTrace and PANDA.
Images Link: https://drive.google.com/drive/folders/1rgx6tB4iXAW8oomnIZTHGCeoUPJPup3R?usp=sharing
The "FSAppBugs""On the Reproducibility of Bugs in File-System Aware Storage Applications", which was published in the 16th IEEE International Conference On Networking, Architecture, and Storage (NAS), 2022.
By analyzing 59 bug cases from 4 representative applications in depth, we derive multiple insights in terms of general bug patterns, triggering conditions, and implications for building effective tools (e.g., bug detection, debugging, provenance tracking). We hope that our results could contribute to the development of robust FS-aware storage applications.
The "ConfDBugStudy" folder contains the bug studied in "ConfD: Analyzing Configuration Dependencies of File Systems for Fun and Profit", which was published in the 21st USENIX Conference on File and Storage Technologies (FAST), 2023.
By analyzing 78 bug patches from 2 file systems (Ext4 and XFS) and their utilitis, we derived a taxonomy of configuration dependencies. We used the derived pattern and taxonomy to build a tool "ConfD" to extract configuration dependencies from the source code automatically and leverage them to find configuration related issues.
Duo Zhang (duozhang@iastate.edu)
Tabassum Mahmud (tmahmud@iastate.edu)
Chongliu Jia (jcl0618@iastate.edu)
Om R. Gatla (ogatla@iastate.edu)