Code Verification Engine for Automated Violation Justification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of evaluating and documenting coding standard violations in software development is time-consuming and can introduce new defects, delaying code release and impacting performance, especially when manual examination is required for each violation.

Innovation Solution

A system and method for automatically detecting and justifying coding rule violations using a code verification engine that applies static and dynamic analysis techniques, including formal proofs and assertion statements, to determine if violations result in undesired program behavior, thereby reducing the need for manual intervention and speeding up the development process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual examination of coding rule violations is performed, then compliance with coding standards is ensured, but time consumption increases and new defects may be introduced

Engineering Contradiction:
Improvecoding standard complianceVSAvoidtime for evaluating and documenting violations
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The code verification engine automatically detects coding rule violations and generates justifications without human intervention. The system serves itself by autonomously analyzing code, identifying violations, and documenting them with justifications, eliminating the need for manual examination while maintaining compliance reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual examination process with an automated code verification engine that uses static and dynamic analysis techniques. This substitution transforms the manual evaluation and documentation process into an automated computational process, reducing time consumption while ensuring consistent compliance checking

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

2Measurement precision

If manual examination and documentation of each violation is required, then accurate compliance assessment is achieved, but productivity decreases

Engineering Contradiction:
Improveaccuracy of compliance assessmentVSAvoidcode development and release speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The code verification engine autonomously performs the complete compliance assessment process including violation detection, evaluation, and documentation with justifications. This self-service capability maintains measurement precision by systematically applying coding rules while dramatically improving productivity through automation

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The code verification engine can continuously analyze code without interruption, maintaining accurate compliance assessment throughout the development process. The automated system operates continuously to detect and document violations, eliminating the discontinuous nature of manual review and thereby increasing development productivity

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If code modifications are made to correct violations, then coding standard compliance is improved, but new defects may be introduced and performance may be impacted

Engineering Contradiction:
Improvecoding standard complianceVSAvoidnew defects introduced by modifications
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The code verification engine performs preliminary detection and documentation of coding rule violations before any code modifications are made. By identifying and justifying violations in advance, the system enables developers to make informed decisions about which violations to address, reducing the risk of introducing new defects through unnecessary modifications

Inventive Principle:
Principle #10Preliminary action

4Manufacturing precision

If extensive code verification and manual evaluation is performed, then code quality is ensured, but the development process is delayed

Engineering Contradiction:
Improvecode qualityVSAvoidcode release timeline
Core Design Contradiction:
Manufacturing precisionVSDuration of action of moving object

Solution Approach 1:

The patent replaces manual code verification and evaluation processes with an automated code verification engine that uses static and dynamic analysis. This substitution maintains high code quality through systematic verification while dramatically reducing the time required for the verification process, thereby accelerating the code release timeline

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

Data Source

PatentUS10423518B2Systems and methods for analyzing violations of coding rules
Publication Date: 2019.09.24 MATHWORKS INC
  • US10423518B2 patent drawing
  • US10423518B2 patent drawing
  • US10423518B2 patent drawing

AI summary

Systems and methods automatically detect violations of coding rules of a coding standard in computer programming code. The systems and methods may mark the locations in the code where the violations are found. The coding rules may be mapped to code verification checks that check for undesired runtime behavior in the code. The systems and methods may identify the code verification check mapped to a given violation detected in the code. The systems and methods may apply that check to the code. If the check proves that the undesired runtime behavior will not occur, the violation may be marked as justified. If the check proves that the undesired runtime behavior will occur, the violation may be marked as not justified.