Journal of East China Normal University(Natural Science) ›› 2024, Vol. 2024 ›› Issue (4): 1-17.doi: 10.3969/j.issn.1000-5641.2024.04.001

• Computer Science •    

A formal verification method for embedded operating systems

Yang WANG1, Jingcheng FANG2, Xiong CAI3, Zhipeng ZHANG3, Yong CAI2, Weikai MIAO2,*()   

  1. 1. Aero-Engine Control System Institute, Aero-Engine Corporation of China, Wuxi, Jiangsu 214063, China
    2. Software Engineering Institute, East China Normal University, Shanghai 200062, China
    3. Functional Safety Research Institute, Shanghai Industrial Control Safety Innovation Technology Co. Ltd., Shanghai 200333, China
  • Received:2023-04-20 Online:2024-07-25 Published:2024-07-23
  • Contact: Weikai MIAO E-mail:wkmiao@sei.ecnu.edu.cn

Abstract:

The operating system is the core and foundation of the entire computer system. Its reliability and safety are vital because faults or vulnerabilities in the operating system can lead to system crashes, data loss, privacy breaches, and security attacks. In safety-critical systems, any errors in the operating system can result in significant loss of life and property. Ensuring the safety and reliability of the operating system has always been a major challenge in industry and academia. Currently, methods for verifying the operating system’s safety include software testing, static analysis, and formal methods. Formal methods are the most promising in ensuring the operating system’s safety and trustworthiness. Mathematical models can be established using formal methods, and the system can be formally analyzed and verified to discover potential errors and vulnerabilities. In the operating system, formal methods can be used to verify the correctness and completeness of the operating system’s functions and system safety. A formal scheme for embedded operating systems is proposed herein on the basis of existing formal verification achievements for operating systems. This scheme uses VCC (verified C compiler), CBMC (C bounded model checker), and PAT (process analysis toolkit) tools to verify the operating system at the unit, module, and system levels, respectively. The schema, upon being successfully applied to a task scheduling architecture case of a certain operating system, exhibits a certain universality for analyzing and verifying embedded operating systems.

Key words: embedded operating system, formal verification, VCC, CBMC, PAT

CLC Number: