Brazilian Symposium on Formal Methods

SBMF 2009: Formal Methods: Foundations and Applications pp 306-320

Verifying Compiled File System Code

  • Jan Tobias Mühlberg
  • Gerald Lüttgen
Conference paper

DOI: 10.1007/978-3-642-10452-7_21

Volume 5902 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Mühlberg J.T., Lüttgen G. (2009) Verifying Compiled File System Code. In: Oliveira M.V.M., Woodcock J. (eds) Formal Methods: Foundations and Applications. SBMF 2009. Lecture Notes in Computer Science, vol 5902. Springer, Berlin, Heidelberg

Abstract

This paper presents a case study on retrospective verification of the Linux Virtual File System (VFS), which is aimed at checking for violations of API usage rules and memory properties. Since VFS maintains dynamic data structures and is written in a mixture of C and inlined assembly, modern software model checkers cannot be applied. Our case study centres around our novel verification tool, the SOCA Verifier, which symbolically executes and analyses compiled code. We describe how this verifier deals with complex program features such as memory access, pointer aliasing and computed jumps, while reducing manual modelling to the bare minimum. Our results show that the SOCA Verifier is capable of reliably analysing complex operating system components such as the Linux VFS, thereby going beyond traditional testing tools and into niches that current software model checkers do not reach.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Jan Tobias Mühlberg
    • 1
  • Gerald Lüttgen
    • 1
  1. 1.Software Engineering and Programming Languages Research GroupUniversity of BambergBambergGermany