Advertisement

A Verification Approach for System-Level Concurrent Programs

  • Matthias Daum
  • Jan Dörrenbächer
  • Mareike Schmidt
  • Burkhart Wolff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5295)

Abstract

Though the verification of operating systems is an active research field, a verification method is still missing that provides both, the proximity to practically used programming languages such as C and a realistic model of concurrency, i.e. a model that copes with the granularity of atomic operations actually used in a target machine.

Our approach serves as the foundation for the verification of concurrent programs in C0 – a C fragment enriched by kernel communication primitives – in a Hoare-Logic. C0 is compiled by a verified compiler into assembly code representing a cooperative concurrent transition system. For the latter, it is shown that it can actually be executed in a true concurrent way reflecting the C0 semantics.

Keywords

Current Process Device Driver Input Alphabet Synchronization Point Process Clone 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Leinenbach, D., Petrova, E.: Pervasive compiler verification: From verified programs to verified systems. In: Systems Software Verification. Elsevier, Amsterdam (to appear, 2008)Google Scholar
  2. 2.
    Schirmer, N.: Verification of Sequential Imperative Programs in Isabelle/HOL. PhD thesis, TU Munich (2006)Google Scholar
  3. 3.
    Leinenbach, D., Paul, W.J., Petrova, E.: Towards the formal verification of a C0 compiler: Code generation and implementation correctness. In: SEFM, pp. 2–12. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  4. 4.
    Beyer, S., Jacobi, C., Kröning, D., Leinenbach, D., Paul, W.J.: Putting it all together: Formal verification of the VAMP. STTT 8(4-5), 411–430 (2006)CrossRefGoogle Scholar
  5. 5.
    Verisoft Project: Verisoft repository (2008), http://www.verisoft.de/VerisoftRepository.html
  6. 6.
    Starostin, A., Tsyban, A.: Correct microkernel primitives. In: Systems Software Verification. Elsevier, Amsterdam (to appear, 2008)Google Scholar
  7. 7.
    Hillebrand, M.A., In der Rieden, T., Paul, W.J.: Dealing with I/O devices in the context of pervasive system verification. In: ICCD, pp. 309–316. IEEE, Los Alamitos (2005)Google Scholar
  8. 8.
    Bevier, W.R.: Kit and the short stack. J. Autom. Reasoning 5(4), 519–530 (1989)Google Scholar
  9. 9.
    Hohmuth, M., Tews, H., Stephens, S.G.: Applying source-code verification to a microkernel: the VFiasco project. In: ACM SIGOPS European Workshop, pp. 165–169. ACM, New York (2002)CrossRefGoogle Scholar
  10. 10.
    Tews, H.: Formal methods in the Robin project: Specification and verification of the Nova microhypervisor. In: C/C++ Verification Workshop, technical report ICIS–R07015, Radboud University Nijmegen, pp. 59–68 (2007)Google Scholar
  11. 11.
    Heiser, G., Elphinstone, K., Kuz, I., Klein, G., Petters, S.M.: Towards trustworthy computing systems: taking microkernels to the next level. Operating Systems Review 41(4), 3–11 (2007)CrossRefGoogle Scholar
  12. 12.
    Shapiro, J.S., Weber, S.: Verifying the EROS confinement mechanism. In: IEEE Symposium on Security and Privacy, pp. 166–176 (2000)Google Scholar
  13. 13.
    Shapiro, J., Doerrie, M.S., Northup, E., Sridhar, S., Miller, M.: Towards a verified, general-purpose operating system kernel. In: FM Workshop on OS Verification. Technical Report 0401005T-1, National ICT Australia, pp. 1–19 (2004)Google Scholar
  14. 14.
    Ni, Z., Yu, D., Shao, Z.: Using XCAP to certify realistic systems code: Machine context management. In: TPHOLs, pp. 189–206. Springer, Heidelberg (2007)Google Scholar
  15. 15.
    Hobor, A., Appel, A.W., Nardelli, F.Z.: Oracle semantics for concurrent separation logic. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 353–367. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Matthias Daum
    • 1
  • Jan Dörrenbächer
    • 1
  • Mareike Schmidt
    • 1
  • Burkhart Wolff
    • 1
  1. 1.Computer Science Dept.Saarland UniversitySaarbrückenGermany

Personalised recommendations