From Operating-System Correctness to Pervasively Verified Applications

  • Matthias Daum
  • Norbert W. Schirmer
  • Mareike Schmidt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6396)


Though program verification is known and has been used for decades, the verification of a complete computer system still remains a grand challenge. Part of this challenge is the interaction of application programs with the operating system, which is usually entrusted with retrieving input data from and transferring output data to peripheral devices. In this scenario, the correct operation of the applications inherently relies on operating-system correctness. Based on the formal correctness of our real-time operating system Olos, this paper describes an approach to pervasively verify applications running on top of the operating system.


Target Speed Runtime Error American National Standard Institute Hoare Logic Assembly Machine 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Vartabedian, R., Bensinger, K.: Doubt cast on Toyota’s decision to blame sudden acceleration on gas pedal defect, Los Angeles Times (January 30, 2010)Google Scholar
  2. 2.
    Guynn, J.: Apple co-founder Steve Wozniak says his Toyota Prius accelerates on its own, Los Angeles Times (February 3, 2010)Google Scholar
  3. 3.
    Moore, J.S.: A grand challenge proposal for formal methods: A verified stack. In: 10th Anniversary Colloquium of UNU/IIST, pp. 161–172. Springer, Heidelberg (2002)Google Scholar
  4. 4.
    Klein, G.: Operating system verification — an overview. Sādhanā 34(1), 27–69 (2009)MathSciNetzbMATHGoogle Scholar
  5. 5.
    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
  6. 6.
    In der Rieden, T., Tsyban, A.: CVM – a verified framework for microkernel programmers. In: Huuck, R., Klein, G., Schlich, B. (eds.) Systems Software Verification. ENTCS, vol. 217, pp. 151–168. Elsevier Science B.V., Amsterdam (2008)Google Scholar
  7. 7.
    Daum, M., Schirmer, N.W., Schmidt, M.: Implementation correctness of a real-time operating system. In: van Hung, D., Krishnan, P. (eds.) SEFM, pp. 23–32. IEEE Computer Society, Los Alamitos (2009)Google Scholar
  8. 8.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  9. 9.
    Alkassar, E., Hillebrand, M.A., Leinenbach, D.C., Schirmer, N.W., Starostin, A., Tsyban, A.: Balancing the load – leveraging a semantics stack for systems verification. J. Autom. Reasoning 42(2-4), 389–454 (2009)CrossRefzbMATHGoogle Scholar
  10. 10.
    Leinenbach, D., Petrova, E.: Pervasive compiler verification: From verified programs to verified systems. In: Huuck, R., Klein, G., Schlich, B. (eds.) Systems Software Verification. ENTCS, vol. 217, pp. 23–40. Elsevier Science B.V., Amsterdam (2008)Google Scholar
  11. 11.
    Schirmer, N.W.: Verification of Sequential Imperative Programs in Isabelle/HOL. PhD thesis, TU Munich (2006)Google Scholar
  12. 12.
    Kopetz, H., Grünsteidl, G.: TTP – A protocol for fault-tolerant real-time systems. IEEE Computer 27(1), 14–23 (1994)CrossRefGoogle Scholar
  13. 13.
    American National Standards Institute: ANSI ISO IEC 9899-1999: Programming Languages — C. American National Standards Institute, New York, USA (1999)Google Scholar
  14. 14.
    Alkassar, E., Hillebrand, M.A., Leinenbach, D., Schirmer, N., Starostin, A.: The Verisoft approach to systems verification. In: Verified Software: Theories, Tools, and Experiments. Volume 5295 of LNCS., Springer (2008) 209–224CrossRefGoogle Scholar
  15. 15.
    Starostin, A., Tsyban, A.: Correct microkernel primitives. In: Huuck, R., Klein, G., Schlich, B. (eds.) Systems Software Verification. ENTCS, vol. 217, pp. 169–185. Elsevier Science B.V., Amsterdam (2008)Google Scholar
  16. 16.
    Heckmann, R., Ferdinand, C.: Worst-case execution time prediction by static program analysis. White paper, AbsInt Angewandte Informatik GmbH (2004)Google Scholar
  17. 17.
    Bevier, W.R.: Kit and the short stack. J. Autom. Reasoning 5(4), 519–530 (1989)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Matthias Daum
    • 1
  • Norbert W. Schirmer
    • 2
  • Mareike Schmidt
    • 1
  1. 1.Computer Science Dept.Saarland UniversitySaarbrückenGermany
  2. 2.German Research Center for Artificial Intelligence (DFKI)SaarbrückenGermany

Personalised recommendations