Author:
Li Ximeng,Chen Shanyan,Guan Yong,Zhang Qianying,Wang Guohui,Shi Zhiping
Abstract
AbstractAn OS microkernel can be extended by implementing services upon it. A service could introduce an object that references a kernel object, and implement a group of functions that invokes the functions for manipulating the kernel object. We consider the scenario where the microkernel has been verified with machine-checkable proofs, while the services remain to be verified. Moreover, the verification of the microkernel is not performed with the verification of subsequent extension in mind. We address the problem of how to build sufficiently on the verification results for the microkernel, in achieving the verification of the services. Our methodology consists of enhancements to the verification framework for the microkernel, and the design of invariants for establishing the connection between the service-level objects and the kernel-level objects. Using the methodology, we have conducted a substantial formal verification of a group of services extending the inter-task communication functionalities of the preemptive microkernel $$\mu \!\!\text{ C }\!\!\text{/ }\!\!\!\text{ OS-II }$$
μ
C
/
OS-II
. Our verification uncovers dormant bugs and provides a level of correctness assurance for the services that is above what is achievable through extensive testing.
Publisher
Springer Nature Switzerland
Reference30 articles.
1. The Coq proof assistant. https://coq.inria.fr/. Accessed: 2023-10-08.
2. Iris – a higher-order concurrent separation logic framework, implemented and verified in the Coq proof assistant. https://iris-project.org/. Accessed: 2023-10-12.
3. $$\mu $$C/OS-II. https://www.osrtos.com/rtos/uc-os-ii/. Accessed: 2023-10-08.
4. Eyad Alkassar, Mark A. Hillebrand, Dirk Leinenbach, Norbert Schirmer, and Artem Starostin. The Verisoft approach to systems verification. In Proceedings of Second International Conference on Verified Software: Theories, Tools, Experiments (VSTTE), pages 209–224, 2008.
5. Eyad Alkassar, Wolfgang J. Paul, Artem Starostin, and Alexandra Tsyban. Pervasive verification of an OS microkernel - inline assembly, memory consumption, concurrent devices. In Proceedings of Third International Conference on Verified Software: Theories, Tools, Experiments (VSTTE), pages 71–85, 2010.