Source Code Verification via Log-Based Model Representation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In model-driven software development, verifying compliance of source code with sequence diagrams is time-consuming and cumbersome due to the lack of direct correspondence between the code and diagrams, especially when using procedural programming languages like 'C'.
Innovation Solution
A method and system that generate logging statements based on metadata tagged in the specification, execute the source code to create log files, and then represent the source code in a modeling language for verification, ensuring compliance with the original specification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If peer review manually inspects source code to confirm compliance with sequence diagrams, then verification accuracy is maintained, but verification time and effort increase significantly
Solution Approach 1:
The patent introduces an intermediary verification system that includes a sequence diagram parser, code analyzer, and compliance checker. This intermediary automatically compares source code against sequence diagrams by parsing both formats, identifying corresponding elements, and verifying compliance without requiring manual peer review, thus maintaining accuracy while reducing time consumption
Solution Approach 2:
The patent replaces the manual mechanical process of peer review with an automated computational verification system. The system uses algorithms to parse sequence diagrams, analyze source code structure, and automatically determine compliance, substituting human inspection with machine-based verification that is both accurate and efficient
2Manufacturing precision
If source code is manually inspected against sequence diagrams, then detailed compliance checking is possible, but the process becomes cumbersome and complex
Solution Approach 1:
The patent segments the verification process into distinct modular components: sequence diagram parsing, source code analysis, element matching, and compliance reporting. Each module handles a specific aspect of verification, making the overall complex process manageable and systematic while maintaining detailed compliance checking capabilities
Solution Approach 2:
The verification system performs self-service by automatically analyzing both the sequence diagrams and source code, identifying corresponding elements, and determining compliance without external intervention. The system serves itself by having the code speak its own structure through parsing and analysis, eliminating the need for complex manual verification procedures
3Reliability
If formal structured development approaches are used with model-driven software development, then software quality is improved, but the verification process becomes more time-consuming
Solution Approach 1:
The patent applies preliminary action by automatically generating verification artifacts during the model-driven development process itself. The verification system is integrated into the development workflow, performing compliance checks as part of the normal development process rather than as a separate post-processing step, thus maintaining quality without sacrificing productivity
Solution Approach 2:
The verification system serves multiple functions: it parses sequence diagrams, analyzes source code, performs compliance checking, and generates verification reports. This multi-functional approach consolidates what would otherwise require multiple separate processes into a single unified system, improving verification efficiency while maintaining the quality standards of formal structured development
Data Source
AI summary
Methods and Systems for verifying a software program in an integrated-development environment are disclosed. In one embodiment, a method of verifying the software program in the integrated-development environment includes generating a source code of a software program in comprising logging statements based on a specification of the software program. Furthermore, the method includes executing the source code with the logging statements and generating one or more log files during execution of the source code based on the logging statements. Moreover, the method includes generating a representation of the source code in a modeling language based on the one or more log files. The method includes verifying compliance of the source code with the specification by comparing the representation of the source code in the modeling language with the specification in the modeling language.


