Compositional Semantic Model for Concurrent Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for formal verification of concurrent abstraction layers in modern computer systems are inadequate, limiting the scalability and applicability of layer-based techniques across multiple concurrent layers, particularly in distributed ledger systems like blockchain technology.
Innovation Solution
The development of a programming toolkit that includes a game-theoretical, strategy-based compositional semantic model, formal linking theorems, and a verified C compiler for certified thread-safe compilation and linking, enabling the construction and verification of certified concurrent abstraction layers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional verification methods are used for concurrent abstraction layers, then verification can be performed at individual layers, but scalability across multiple concurrent layers is limited
Solution Approach 1:
The verification system is segmented into modular components including layer interfaces, simulation relations, and composition rules. Each concurrent layer can be verified independently through its own interface specification, then composed formally using simulation relations. This segmentation allows verification to scale across multiple layers without requiring verification of the entire system at once, resolving the contradiction between verification correctness and system complexity.
Solution Approach 2:
Layer interfaces serve as intermediaries between different concurrent layers, providing formal specifications that enable composition. The simulation relation acts as a mediator that formally connects the behavior of one layer to another, ensuring correctness while allowing independent verification. This intermediary mechanism enables scalable verification across multiple layers without directly managing the complexity of all layer interactions.
2Measurement precision
If fine-grained concurrent verification is implemented, then precision of verification is improved, but the complexity of managing multiple thread sets and interfaces increases
Solution Approach 1:
The verification approach introduces a new dimension of abstraction through layer interfaces, which capture the essential behavior of concurrent layers without exposing implementation details. This dimensional shift from concrete thread management to abstract interface specification enables fine-grained verification precision while reducing the apparent complexity of managing multiple thread sets, as interfaces provide a unified view across different thread configurations.
3Reliability
If formal verification of distributed ledger systems is performed, then security and correctness are enhanced, but the verification process becomes more difficult due to concurrency and multiple abstraction levels
Solution Approach 1:
The distributed ledger system is segmented into distinct concurrent layers, each with its own formal interface specification. This segmentation allows the verification difficulty to be managed by verifying each layer independently through its interface, then composing the results using simulation relations. The segmentation transforms the intractable problem of verifying the entire distributed system into manageable verification tasks for individual layers, maintaining security and correctness while reducing verification difficulty.
Solution Approach 2:
Layer interfaces serve as intermediaries that simplify the verification of distributed ledger systems by providing formal specifications that abstract away the complexity of concurrency and multiple abstraction levels. These interfaces enable automated verification tools to reason about system behavior without directly managing the complexity of distributed consensus protocols, thereby enhancing security while reducing verification difficulty.
Data Source
AI summary
Systems and methods for formal verification of programs. The systems and methods provide a new game-theoretical, strategy-based compositional semantic model for concurrency, a set of formal linking theorems for composing multithreaded and multicore concurrent layers, and a compiler that supports certified thread-safe compilation and linking. Verification of an overlay interface can include determining an intermediate strategy for a primitive operation running on an underlay interface and refining that intermediate strategy to a strategy running on the overlay interface by applying a vertical and a horizontal composition rule. The refined strategy can then be composed with compatible strategies running on the overlay interface according to a parallel composition rule. Strategies may be compatible when rely conditions imposed by each strategy satisfy guarantees provided by the other strategies. The system and method of formal verification can be applied to formal verification of smart contracts.


