Software Vulnerability Detection via Data Structure Pattern Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting security and performance vulnerabilities in software applications, such as brute force algorithms, are inefficient due to the extensive time required to analyze complex software applications, even with advanced computers, necessitating an optimized approach to analyze software behavior.

Innovation Solution

An evaluation framework and engine that analyze internal data structures and create evaluation snapshots to identify patterns, using an ordered graph and traversal algorithms to simulate input data and monitor software application behavior, enabling the detection of critical scenarios and vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If brute force algorithm is used to detect security and performance vulnerabilities, then all possible candidates are systematically checked, but the analysis time required is too much

Engineering Contradiction:
Improvevulnerability detection completenessVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the software application into multiple abstraction layers and frameworks, analyzing each layer separately rather than treating the entire application as a monolithic system. This segmentation allows the evaluation engine to focus on specific components and their interactions, significantly reducing the overall analysis time while maintaining comprehensive vulnerability detection across all layers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by simulating input data and generating execution paths before actual vulnerability analysis. The evaluation engine pre-processes the software application by creating an ordered graph of execution paths and identifying critical scenarios in advance, which eliminates the need for exhaustive brute-force checking during the actual analysis phase.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If exhaustive analysis of all possible candidates is performed, then detection precision is improved, but productivity decreases

Engineering Contradiction:
Improvevulnerability detection precisionVSAvoidanalysis efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements dynamics by adaptively adjusting the analysis depth and scope based on the software application's structure and identified risk patterns. The evaluation engine dynamically prioritizes execution paths and focuses computational resources on high-risk areas, maintaining high detection precision while improving analysis efficiency through intelligent resource allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by transforming the analysis approach from exhaustive checking to targeted evaluation based on simulated input data and execution paths. The system modifies analysis parameters such as input data types, execution path selection criteria, and evaluation snapshot frequencies to optimize the balance between detection precision and analysis productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9471788B2Evaluation of software applications
Publication Date: 2016.10.18 SAP SE
  • US9471788B2 patent drawing
  • US9471788B2 patent drawing
  • US9471788B2 patent drawing

AI summary

Software applications receive input data, perform processing of the received data and generate output. In one aspect the output is modification of data structures. The software application is tested with instances of input data that lead to various data modifications in the data structures. In another aspect, patterns are found in the modifications of the data structures, which are evaluated and analyzed for software vulnerabilities.