Automated Source Code Verification for Coding Rules and Runtime Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software testing for complex software products is inefficient due to the lack of automated tools that can effectively detect coding rules violations and run-time errors, requiring manual review and resource-intensive processes, especially in critical industries.

Innovation Solution

An automated software verification tool that analyzes source code for compliance with established coding standards, such as MISRA C, MISRA C++, and JSF++ standards, using a graphical user interface to configure, execute, and review verification results, including a coding rules checker to identify and classify errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual review processes are used to detect coding rules violations and run-time errors, then comprehensive analysis can be performed, but the software testing process becomes resource-intensive and inefficient

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The verification tool performs automated static verification of source code to detect coding rules violations and run-time errors without requiring manual review. The system analyzes code independently, generating verification results that identify potential issues, thereby eliminating the need for resource-intensive manual testing while maintaining comprehensive analysis capabilities

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical review processes with an automated computational verification system. The tool uses static verification techniques to automatically analyze source code, substituting human reviewers with an automated system that can process code efficiently while detecting the same types of violations and errors that manual review would identify

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated verification tools are implemented to improve testing efficiency, then resource consumption is reduced, but the ability to effectively detect coding rules violations and run-time errors is limited

Engineering Contradiction:
Improvetesting efficiencyVSAvoiderror detection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The verification tool segments the analysis into two distinct verification passes: static verification to detect coding rules violations in the source code, and run-time verification to detect errors during code execution. This segmentation allows the automated tool to effectively detect both types of issues without compromising either efficiency or detection capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification tool is designed to perform multiple verification functions within a single automated system. It can detect coding rules violations, identify run-time errors, and generate comprehensive verification results, making the tool universally applicable for multiple aspects of software verification without requiring separate manual processes for each type of analysis

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If comprehensive static verification is performed on all source code, then all coding rules violations can be detected, but the verification process becomes time-consuming and complex

Engineering Contradiction:
Improveviolation detection accuracyVSAvoidverification time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The verification tool performs static verification on specific portions of source code that are identified as requiring verification, rather than uniformly analyzing every line of code. The system can selectively verify code segments based on verification parameters, allowing comprehensive detection of violations in critical areas while reducing verification time for less critical portions

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The tool performs preliminary static verification analysis to identify potential coding rules violations before run-time execution. By conducting this preliminary check on source code structure and syntax, the system can detect violations early without requiring extensive run-time analysis, thereby maintaining high detection accuracy while reducing overall verification time

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9535821B1Displaying violated coding rules in source code
Publication Date: 2017.01.03 MATHWORKS INC
  • US9535821B1 patent drawing
  • US9535821B1 patent drawing
  • US9535821B1 patent drawing

AI summary

A device performs a verification analysis of source code, where the verification analysis includes a coding rules check of the source code based on coding standards, and run-time error check of the source code. The device provides, for display, results of the coding rules check of the source code, and provides, for display, results of the run-time error check of the source code. The device provides, for display, from the results of the coding rules check of the source code, at least one of a coding rule error violation associated with the source code, or a coding rule warning violation associated with the source code.