Contextual Embeddings for Static Analyzer False Positives

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static program analysis often identifies false vulnerabilities, leading to inefficient review processes and requiring human intervention to distinguish between true and false vulnerabilities, which hampers the effectiveness of static analyzers due to complexity and tool familiarity issues.

Innovation Solution

A computer-implemented method using contextual embeddings to generate a fine-tuned static analysis model by mapping labeled true and false vulnerabilities to pretrained contextual embeddings, reducing false identifications and improving output accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static analyzers are used to identify vulnerabilities in source code, then security issues can be detected, but the number of false vulnerabilities increases

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidfalse vulnerability identification
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent introduces contextual embeddings as an intermediary layer between the static analyzer output and the final vulnerability classification. This mediator processes the raw vulnerability data through learned contextual representations to distinguish true vulnerabilities from false positives, thereby improving measurement precision without sacrificing reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the vulnerability classification problem by changing the parameter space from direct binary classification to a contextual embedding space. By mapping vulnerabilities to contextual representations and learning classification boundaries in this transformed space, the system achieves better precision in distinguishing false vulnerabilities while maintaining reliable detection

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If human review is performed to distinguish true and false vulnerabilities, then accuracy improves, but review time and complexity increase

Engineering Contradiction:
Improvevulnerability classification accuracyVSAvoidreview time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements a self-service mechanism where the fine-tuned model automatically classifies vulnerabilities with high accuracy, reducing the need for human review. The system serves itself by learning from labeled data and autonomously distinguishing true vulnerabilities from false positives, thereby improving precision without proportionally increasing time loss

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent performs preliminary classification using the fine-tuned model before human review. By pre-processing and filtering vulnerabilities through the trained contextual embeddings model, the system prepares the data in advance, reducing the burden on reviewers and decreasing overall review time while maintaining high accuracy

Inventive Principle:
Principle #10Preliminary action

3Reliability

If static analyzers require familiarity with tool functions and controls, then analysis capability improves, but ease of operation deteriorates

Engineering Contradiction:
Improveanalysis capabilityVSAvoidtool usability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent creates a simplified interface that copies and presents only the essential vulnerability information in a user-friendly format. Instead of requiring users to navigate complex tool functions and controls, the system generates accessible output that directly presents classified vulnerabilities, thereby improving ease of operation while preserving analysis capability through the underlying sophisticated model

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11765193B2Contextual embeddings for improving static analyzer output
Publication Date: 2023.09.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11765193B2 patent drawing
  • US11765193B2 patent drawing
  • US11765193B2 patent drawing

AI summary

In a computer-implemented method for improving a static analyzer output, a processor receives a labeled data set with labeled true vulnerabilities and labeled false vulnerabilities. A processor receives pretrained contextual embeddings from a contextual embeddings model. A processor maps the true vulnerabilities and the false vulnerabilities to the pretrained contextual embeddings model. A processor generates a fine-tuned model with classifications for true vulnerabilities.