Automated Function Category Detection for Security Analysis
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


