Vulnerable Software Component Identification Through Patch Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing process for identifying vulnerable software components is manual, time-consuming, and lacks efficiency and accuracy, particularly when dealing with multiple programming languages and versions, necessitating a more automated and reliable method to reduce the time to patch vulnerabilities and improve information quality.

Innovation Solution

A computer-implemented method for identifying vulnerable software components through source-code or bytecode parsing and text analysis, which involves unpacking software packages, retrieving vulnerability database entries, and comparing patch changes to determine vulnerable versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual identification of vulnerable software components is performed, then accuracy can be maintained through expert analysis, but time consumption and labor intensity increase significantly

Engineering Contradiction:
Improveidentification accuracyVSAvoidtime to identify vulnerable components
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables automated self-identification of vulnerable software components by comparing source code against vulnerability patterns and databases, eliminating the need for manual expert analysis while maintaining identification accuracy through algorithmic pattern recognition and automated code parsing

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual expert analysis is replaced with automated computational systems including source code parsers, vulnerability pattern matchers, and database comparison algorithms that systematically identify vulnerable components without human intervention, dramatically reducing time while preserving accuracy

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

2Adaptability or versatility

If comprehensive source code analysis is performed across multiple programming languages, then coverage of vulnerable components improves, but system complexity and processing requirements increase

Engineering Contradiction:
Improvemulti-language coverageVSAvoidanalysis system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements a universal source code analysis platform that handles multiple programming languages (Java, JavaScript, Go, C#, .NET, Rust, PHP) through a single integrated architecture, using language-agnostic vulnerability pattern matching and standardized code representation methods to achieve broad coverage without proportionally increasing complexity

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

Solution Approach 2:

The system adapts to different programming languages by dynamically adjusting analysis parameters such as syntax patterns, code structure expectations, and vulnerability signature formats, allowing the same core engine to efficiently analyze diverse languages without requiring separate complex analysis systems for each language

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated identification methods are implemented, then processing speed and efficiency improve, but accuracy may decrease due to false positives from imperfect pattern matching

Engineering Contradiction:
Improveidentification speedVSAvoididentification accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system incorporates feedback mechanisms where identification results are validated against multiple data sources including vulnerability databases, security feeds, and cross-referenced information from multiple programming languages, allowing the system to learn from false positives and continuously improve accuracy while maintaining high processing speed

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system combines results from multiple independent analysis sources and cross-references vulnerability information across different programming languages and databases, using aggregation and consensus algorithms to filter false positives and confirm true vulnerabilities, thereby maintaining high speed while improving accuracy through combined evidence

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20250284820A1Automated Identification Of Vulnerable Software Components
Publication Date: 2025.09.11 DYNATRACE LLC
  • US20250284820A1 patent drawing
  • US20250284820A1 patent drawing
  • US20250284820A1 patent drawing

AI summary

An automated identification of vulnerable software components is presented. The objective to find a method for the automatic identification of CVE affected software components through source-code parsing and text analysis. The method shall reduce manual work to a minimum and ensure a high level of data quality. The objective is solved by the computer-implemented method for identifying vulnerable software, comprising: receiving a software package; unpacking source code files for multiple versions of the software package; retrieving an entry for the software package from a vulnerability database; retrieving a patch for the software package; determining changes made by the patch to source code files of the software package; and determining whether the changes were made to a given version of software and reporting the given version of software as vulnerable in response to a determination the changes were absent from the given version of software.