Code Violation Prioritization with Machine Learning Scores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for prioritizing code violations in software development fail to differentiate between minor and severe violations, leading to inefficient use of developer resources and potential security risks.

Innovation Solution

A system and method using machine learning to analyze code snippets, train a model to differentiate between vulnerable and non-vulnerable code, assign vulnerability probability scores, and rank code snippets based on severity for prioritized correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing methods are used to prioritize code violations, then all violations are treated equally, but developer resources are wasted on minor issues while severe vulnerabilities remain unaddressed

Engineering Contradiction:
Improvesoftware securityVSAvoiddeveloper resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the parameter of violation assessment from binary (violation present/absent) to continuous (vulnerability probability score 0-1). This allows the system to differentiate between minor and severe violations by assigning different probability scores, enabling developers to prioritize fixing high-scoring violations that pose greater security risks while maintaining efficient resource allocation.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces manual assessment of violation severity with an automated machine learning model. The model analyzes code snippets and automatically assigns vulnerability probability scores, substituting the mechanical process of human judgment with an automated system that consistently evaluates security risks and prioritizes violations based on learned patterns from training data.

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

2Measurement precision

If manual assessment of violation severity is performed, then expert judgment can differentiate between minor and severe violations, but the process is time-consuming and scales poorly

Engineering Contradiction:
Improveviolation severity differentiationVSAvoidassessment time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a trained machine learning model that copies the decision-making patterns of expert assessors. By training the model on labeled data representing expert judgments, it replicates their ability to differentiate violation severity without requiring their direct involvement in each assessment, thus preserving measurement precision while eliminating time loss.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary training of the machine learning model on comprehensive datasets before deployment. This preliminary action allows the model to learn expert assessment patterns in advance, so that during actual use, severity differentiation occurs automatically without requiring real-time expert intervention, thereby reducing assessment time while maintaining precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250225014A1System and method for prioritizing code violations using machine learning and datasets of vulnerable and vanilla code snippets
Publication Date: 2025.07.10 PARASOFT CORP
  • US20250225014A1 patent drawing
  • US20250225014A1 patent drawing
  • US20250225014A1 patent drawing

AI summary

Method for prioritizing code violations in a computer program, using machine learning includes: analyzing the computer program for code violations; extracting code snippets containing violations from the computer program; training a machine learning model to differentiate between vulnerable and non-vulnerable code in the extracted code snippets; inputting the extracted code snippets to a trained machine learning model to assign a vulnerability probability score to each snippet, wherein each vulnerability probability score indicates a severity of the violation for a respective snippet; ranking the code snippets based on their respective vulnerability probability score, wherein a higher score indicates a higher likelihood of causing severe vulnerabilities; and displaying the ranked code snippets to be fixed for their code violations.