Title of your paper

Cindy Rubio Gonzalez

Abstract: Unchecked errors are problematic in general, but are especially pernicious in operating system file management code. Transient or permanent hardware failures are inevitable, and error-management bugs at the file system layer can cause silent data corruption from which recovery is difficult or impossible. We propose an interprocedural static analysis that tracks errors as they propagate through file system code. Our implementation detects overwritten, out-ofscope, and unsaved errors. We analyze 48 Linux file system implementations and find hundreds of error propagation bugs. Our flow- and context-sensitive approach produces more precise results than related techniques while providing the programmer with better diagnostic information, including possible execution paths that demonstrate each bug found. After manual inspection, we still find that the rate of false positives is about 90%, which is unacceptable. Thus, we proceed to study the code and propose changes to our analysis that reduce the false positives in about 77% while finding 95% of the true bugs found with the earlier technique.

Available as: PDF

Click here to download our software. Click to download the output of our tool for each of the 48 file systems analyzed.