Static Analysis Verification via Centralized Assumption Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current static analysis procedures for verifying properties of critical computer programs are limited by approximations that may omit errors or falsely indicate issues, and they often cannot account for all aspects of the source code, particularly due to incomplete formal modeling, leading to partial confidence in the program's dependability and security.
Innovation Solution
A method and system utilizing a combination of forward and backward analyzers with a centralizer module to iteratively verify assumptions about property validity at program points, allowing cooperation among multiple analyzers to ensure comprehensive analysis and reduce unverified assumptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static analysis procedures use formal modeling of the source code language, then analysis guarantees about program behavior are provided, but the modeling may not take into account certain aspects of the language, making the analysis incapable of processing certain parts of the source program
Solution Approach 1:
The analysis system is divided into multiple independent analyzers, each specializing in verifying specific types of properties at program points. This segmentation allows each analyzer to focus on particular language aspects while the collective system handles the full spectrum of source code analysis requirements.
Solution Approach 2:
The system creates a universal analysis framework where multiple analyzers with different specializations work together through a central coordinator. This multi-functional architecture enables the system to process diverse language aspects that individual formal models cannot handle alone.
2Reliability
If static analysis procedures proceed by approximations to provide guarantees about program behavior, then analysis can be performed, but certain errors may be omitted or false errors may be indicated
Solution Approach 1:
Multiple analyzers with different approximation strategies are merged into a unified system. By combining their results through a central coordinator, the system achieves more precise error detection than individual analyzers could accomplish alone, reducing both false positives and missed errors.
Solution Approach 2:
The system implements feedback mechanisms where analyzers exchange information about their findings and assumptions. This feedback loop allows the system to refine its analysis by cross-validating results and adjusting approximations based on evidence from multiple analysis perspectives.
3Reliability
If multiple analyzers are used to verify properties at program points, then comprehensive analysis is achieved, but the complexity of coordinating and managing multiple analyzers increases
Solution Approach 1:
A central coordinator module acts as an intermediary between multiple analyzers, managing their coordination and communication. This mediator handles the complexity of orchestrating multiple analysis operations, allowing individual analyzers to remain relatively simple while achieving comprehensive verification through their coordinated interaction.
Data Source
AI summary
A method and a system for verifying properties of a computer program is provided, pertaining to the validity of properties at program points by means of at least one forward analyser and one backward analyser. For each property, in an issuing phase an analyser issues to a centralizer module an assumption on the validity of the property at a point of the program, the centralizer module storing the assumption in a database with an attribute indicating the original analyser and a status indicating that the assumption needs to be verified; in a phase of verifying the assumption, stored in the database, a test analyser is selected to analyse the assumption in cooperation with the other analysers, the centralizer module determining analysers able to cooperate. The verification phase is iterated until all assumptions stored in the base have been analysed by at least one test analyser, a verified assumption being marked as valid.


