Abstract:The paper gives a detailed presentation of a framework, embedded into the simply typed higher-order logic and aimed at the support of sound and structured reasoning about various properties of models of imperative programs with interleaved computations. As a case study, a model of the Peterson's mutual exclusion algorithm will be scrutinised in the course of the paper illustrating applicability of the framework.
What problem does this paper attempt to address?
This paper attempts to address the complexity and accuracy issues in concurrent program verification, especially for imperative programs with interleaved computations. Specifically, the paper proposes a framework, which is embedded in simply - typed higher - order logic, aiming to support reliable and structured reasoning about various properties of imperative programs.
### Main Problems
1. **Complexity of Concurrent Program Behaviors**
- The behaviors of concurrent programs can be very complex, especially when there is interleaved execution among multiple processes or threads. This complexity makes it difficult for traditional code review and testing to capture potential critical errors.
2. **Ensuring the Reliability of Safety - Critical Systems**
- For safety - critical systems (such as self - driving devices, etc.), it is crucial to ensure that the programs controlling these systems are free of faults. This requires strict verification of the deployed program code, rather than just relying on formal modeling and reasoning.
3. **Limitations of Existing Verification Methods**
- Compared with sequential programs, the development of concurrent programs has more sources of interference. For example, in the sequential case, it can be asserted that no other process will interfere during a function call, but in the concurrent case, this assumption no longer holds. In addition, the compiler may introduce new uncertainties when converting high - level languages into assembly code.
### Solutions
To address these problems, the paper proposes a framework with the following features:
- **State Abstraction and High - and Low - Level Language Features**: The framework encompasses state abstraction and high - and low - level language features to facilitate structured verification of input / output, invariance, and liveness properties of interleaved computations.
- **Conservative Extension of Higher - Order Logic**: The framework is a conservative extension of simply - typed higher - order logic, with Hindley - Milner polymorphism, emphasizing the reliability of the derivation verification method.
- **Application of Proof Assistants**: The design of the framework takes into account the application of proof assistants (such as Isabelle / HOL) to handle the application of complex logical rules, thereby improving the reliability and efficiency of verification.
### Specific Case Studies
As a case study, the paper analyzes Peterson's mutual exclusion algorithm model in detail, demonstrating the effectiveness and applicability of the framework in practical applications. Through this case, the paper illustrates how to use the proposed framework to verify the correctness and performance of concurrent programs.
In summary, the main purpose of this paper is to provide a reliable theoretical basis and practical tool for verifying the correctness and reliability of concurrent imperative programs, especially in safety - critical systems.