Verifying File System Properties with Type Inference
Loading...
Files
Date
Authors
Gunawi, Haryadi S.
Krishnan, Shweta
Advisors
License
DOI
Type
Technical Report
Journal Title
Journal ISSN
Volume Title
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Grantor
Abstract
The storage stack is not trustworthy due to errors that
arise from a variety of sources: unreliable hardware,
malicious errors and file system bugs. Today, software
errors play a dominant role due to their inherent complexity.
In the first part of our project, we look towards
verifying a specific file system property: on-disk pointer
manipulation. We utilize CQUAL, a framework for adding
type qualifiers with type inference support, and apply our
analysis to the Linux ext2 file system. We find that adding
qualifiers serves the valuable purpose of ensuring that
on-disk pointers are accessed and manipulated correctly
by the file system. Thus, we believe that the qualifiers
we introduce would decrease the probability of bugs
being introduced by file system programmers. We also
describe our experience in using CQUAL and discuss its
limitations. Based on our experience with CQUAL, we
come up with a second analysis, a buffer management
verifier, that fits better with the power of CQUAL by
being simpler, yet more widely applicable to different file
systems than the first analysis.
Description
Keywords
Related Material and Data
Citation
TR1695