Automated Function Category Detection for Security Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static code analysis tools lack an efficient method for automatically generating configuration files that specify categories of functions relevant for analysis, such as taint analysis, which are crucial for security analysis.

Innovation Solution

A method and system that extract sub-tokens and program analysis features from code functions, generate sub-token and program analysis vectors, combine them using a machine learning model to create a function vector, and classify functions into categories like 'sink' or 'sanitizer' for inclusion in configuration files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual specification of function categories is used in configuration files, then accuracy of security analysis is improved, but productivity and efficiency deteriorate due to time-consuming manual configuration

Engineering Contradiction:
Improveaccuracy of function category classificationVSAvoidefficiency of configuration file generation
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables automatic self-classification of functions by the machine learning model, which processes code functions and automatically assigns category labels without requiring manual human intervention. The model uses trained parameters to independently determine function categories such as sink, source, or sanitizer, thereby resolving the contradiction between accuracy and productivity by making the system self-sufficient in generating accurate configurations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of specifying function categories with an automated machine learning system. The ML model substitutes human analysts by processing code functions through trained algorithms that classify functions into security categories automatically, eliminating the need for manual configuration while maintaining or improving classification accuracy through learned patterns from training data.

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

2Productivity

If automatic function category detection is implemented, then productivity is improved through automated configuration generation, but device complexity increases due to machine learning model requirements

Engineering Contradiction:
Improveefficiency of configuration file generationVSAvoidcomplexity of classification system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the classification task into distinct components: feature extraction from code functions, vector generation from sub-tokens and program analysis features, and final category classification. This segmentation allows the complex ML model to be broken down into manageable modules, reducing overall system complexity while maintaining automated productivity benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate representations (vectors) as mediators between the raw code functions and the final category classification. The feature extraction process converts complex code structures into simplified vector representations that capture essential characteristics, thereby reducing the complexity of the classification task while preserving the ability to accurately categorize functions automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive feature extraction is performed from code functions, then classification accuracy is improved, but loss of time increases due to extensive processing requirements

Engineering Contradiction:
Improveaccuracy of function category classificationVSAvoidtime for feature extraction and processing
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system extracts only the most relevant features from code functions for classification purposes. The feature extraction process selectively identifies and extracts key characteristics such as function names, parameters, and control flow patterns that are most indicative of security categories, rather than processing all possible code attributes. This selective extraction maintains classification accuracy while reducing processing time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by focusing on extracting a subset of critical features rather than performing exhaustive analysis of all code aspects. The system extracts sufficient features to achieve accurate classification without over-processing, thereby optimizing the balance between classification precision and processing time efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11822459B2Automated function category detection
Publication Date: 2023.11.21 ORACLE INT CORP
  • US11822459B2 patent drawing
  • US11822459B2 patent drawing
  • US11822459B2 patent drawing

AI summary

A method may include extracting, from a function included in code, sub-tokens and program analysis features, generating sub-token vectors from the sub-tokens and a program analysis vector from the program analysis features, combining, by a machine learning model, the sub-token vectors to obtain a combined sub-token vector, combining the combined sub-token vector and the program analysis vector to obtain a function vector, and classifying, using the function vector, the function as a function category.