Code Verification Tool Using Element Connectivity List and AST
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Verifying code generated from models in complex systems is time-consuming and costly, especially in safety-critical software, where manual review is necessary but automated tools are required to ensure accuracy and compliance with standards.
Innovation Solution
A code verification tool creates an element connectivity list (ECL) and abstract syntax tree (AST) to compare model and generated code, identifying correspondence and discrepancies, and supports a restricted subset of model elements to optimize verification, with visualization and manual review assistance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If manual review is used to verify generated code, then verification accuracy is improved, but verification time and cost increase
Solution Approach 1:
The patent introduces an automated code verification tool as an intermediary between the code generation process and manual review. This tool creates an element connectivity list from the model and an abstract syntax tree from the generated code, then automatically compares them to identify correspondences and discrepancies. This intermediary automation handles routine verification tasks, allowing manual reviewers to focus only on complex or ambiguous cases, thus reducing overall verification time while maintaining accuracy.
2Productivity
If automated verification tools are used, then verification time is reduced, but verification thoroughness may be compromised
Solution Approach 1:
The patent segments the verification process into distinct automated and manual phases. The automated tool performs initial thorough verification by comparing the element connectivity list with the abstract syntax tree, identifying all obvious correspondences and discrepancies. This segmentation allows the system to handle routine verification tasks automatically with high speed, while reserving manual review for cases requiring deeper analytical judgment, thus achieving both speed and thoroughness.
3Reliability
If full model verification is performed, then completeness is improved, but complexity of verification process increases
Solution Approach 1:
The patent extracts only the essential elements needed for verification by creating an element connectivity list that contains specifically the model elements and their relationships. This extraction approach pulls out the critical verification data from the complete model, allowing the automated tool to focus verification efforts on the most important aspects of code-model correspondence without being overwhelmed by the full complexity of the entire model.
Data Source
AI summary
A code verification tool verifies that code generated from a model represents all of the functionality of the model and does not contain any unintended functionality. The code verification tool may receive for examination a model or an intermediate representation (IR) of the model and the generated code or an intermediate representation of the generated code. The code verification tool may create further intermediate representations of the model and/or the generated code in order to compare the functionality presented in both.


