This research was conducted by Cindy Rubio González and Ben Liblit. The paper appeared in the 9th ACM SIGSPLAN / SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 2010).
Inaccurate documentation can mislead programmers and cause software to fail in unexpected ways. We examine mismatches between documented and actual error codes returned by 42 Linux file-related system calls. We use static program analysis to identify the error codes returned by system calls across 52 file systems, including widely-used implementations such as CIFS, ext3, IBM JFS, ReiserFS and XFS. We describe analysis optimizations that dramatically reduce run-time and memory consumption. Comparing analysis results with Linux manual pages reveals over 1,700 undocumented error-code instances affecting all file systems and system calls examined.
The full paper is available as a single PDF document. A suggested BibTeX citation record is also available.