Abstract specification and formalization of an operating system kernel in Z

One of the mini challenges in software verification related to the Grand Challenge proposed by Tony Hoare concerns the formal specification and verification of an operating system kernel. This paper proposes a simple and correct specification of an OS kernel in Z which simplifies the understanding and verification of operating system components. Our current specification comprises process management, interprocess communication and a POSIX-compliant file system.

[1]  William R. Bevier,et al.  Kit: A Study in Operating System Verification , 1989, IEEE Trans. Software Eng..

[2]  Gerwin Klein,et al.  Operating system verification—An overview , 2009 .

[3]  Mark Saaltink The Z/EVES System , 1997, ZUM.

[4]  Kevin Elphinstone,et al.  Experience report: seL4: formally verifying a high-performance microkernel , 2009, ICFP.

[5]  Michael Norrish,et al.  seL4: formal verification of an OS kernel , 2009, SOSP '09.

[6]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[7]  C. A. R. Hoare,et al.  The verifying compiler: A grand challenge for computing research , 2003, JACM.

[8]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[9]  RICHARD J. FEIERTAG,et al.  The foundations of a provably secure operating system (PSOS) , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[10]  Iain D. Craig Formal refinement for operating system Kernels , 2007 .

[11]  María-del-Mar Gallardo,et al.  Model Checking Dynamic Memory Allocation in Operating Systems , 2009, Journal of Automated Reasoning.

[12]  Richard A. Kemmerer,et al.  Specification and verification of the UCLA Unix security kernel , 1979, CACM.

[13]  C. A. R. Hoare,et al.  The verifying compiler: A grand challenge for computing research , 2003, JACM.

[14]  Junfeng Yang,et al.  Using model checking to find serious file system errors , 2004, TOCS.