Program Verification via Path Logic and Tree Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for securing complex programs, such as those in critical systems like rocket control, face challenges due to their complexity, leading to difficulties in formal verification and high resource consumption, as existing techniques based on mathematical logic struggle to efficiently prove program properties, especially in systems where security and correctness are paramount.
Innovation Solution
The method employs path logic within the program to reduce complexity by using evolution rules, exit points, and branchings to create a tree structure, allowing for the propagation of constraints and transitive closure to prove program properties, and establishes sufficiency relationships between local properties of different programs to facilitate secure execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If mathematical logic-based formal verification methods are used to secure complex programs, then program correctness and security are improved, but the complexity and resource consumption of the verification process increases significantly
Solution Approach 1:
The patent segments the complex program into multiple sub-programs or modules that can be verified independently. Each sub-program is assigned a specific verification task, allowing the overall verification process to be divided into manageable parts. This reduces the complexity of verifying the entire program at once while maintaining comprehensive security coverage.
Solution Approach 2:
The patent introduces intermediary verification components or abstraction layers that mediate between the complex program and the formal verification system. These intermediaries simplify the representation of program behavior, making it more amenable to logical analysis while preserving essential security properties. The intermediaries act as translators that convert complex program logic into verifiable forms.
2Reliability
If mathematical logic-based formal verification methods are used to secure complex programs, then program correctness and security are improved, but the time and resources required for verification increase
Solution Approach 1:
The patent performs preliminary analysis and preparation of program code before formal verification. This includes automated code parsing, generation of verification-ready intermediate representations, and pre-computation of program properties. By preparing the program in advance, the actual formal verification process requires less time and computational resources during the critical verification phase.
Solution Approach 2:
The patent applies formal verification selectively to critical security-relevant parts of the program rather than attempting to verify the entire program in full detail. This partial verification approach focuses resources on proving correctness of essential security properties while accepting that less critical portions may receive less rigorous verification, thereby reducing overall verification time while maintaining adequate security guarantees.
Data Source
Figure 1~2
AI summary
A method for securing a first program, the first program comprising a finite number of program points and evolution rules associated to program points and defining the passage of a program point to another, comprising: • a definition of a plurality of exit cases and, when a second program is used in the definition of the first program, for each exit case, definition of a branching toward a specific program point of the first program or a declaration of branching impossibility; and • a definition of a set of properties to be proven, each associated with one of the constitutive elements of the first program, said set of properties comprising the branching impossibility as a particular property; • establishment of the formal proof of the set of properties.