Skip to content

Characterized real-world bug cases in OS kernels, file systems, storage applications, etc. [TOS'23, FAST'23, NAS'22, SYSTOR'21, TBench'21]

Notifications You must be signed in to change notification settings

data-storage-lab/BugBench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BugBenchk

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:

Persistent Memory Bugs in the Linux Kernel

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.

Benchmarking for Observability

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

FSAppBugs

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.

ConfDBugStudy

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.

Contact

Duo Zhang (duozhang@iastate.edu)
Tabassum Mahmud (tmahmud@iastate.edu)
Chongliu Jia (jcl0618@iastate.edu)
Om R. Gatla (ogatla@iastate.edu)

About

Characterized real-world bug cases in OS kernels, file systems, storage applications, etc. [TOS'23, FAST'23, NAS'22, SYSTOR'21, TBench'21]

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published