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.