Wrapper Function for Unified Software Entry Point Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Analyzing software applications with multiple entry points is a time-consuming process, often requiring duplicate reviews of similar entry points, as existing static analysis methods typically analyze each entry point independently, leading to inefficiencies.

Innovation Solution

A method and system that generate a wrapper function to call all identified entry points with a specified call depth, treating the wrapper function as a single entry point for analysis, thereby allowing for a comprehensive analysis of the software application without independent analysis of each entry point, using intermediate representations and relevant function identification to construct an informative structure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each entry point is analyzed as a separate task in parallel, then comprehensive coverage of all entry points is achieved, but analysis time increases significantly

Engineering Contradiction:
Improvecomprehensive coverageVSAvoidanalysis time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges multiple entry point analyses into a unified analysis by generating a wrapper function that combines all entry points. The wrapper function is then analyzed as a single entity, eliminating the need for separate parallel analyses of each entry point while maintaining comprehensive coverage of all entry points within the merged function.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The wrapper function serves as a universal analysis target that represents all entry points simultaneously. By analyzing the wrapper function, the system achieves multi-functionality where a single analysis process covers multiple entry points that would otherwise require separate analyses, thereby reducing analysis time while maintaining comprehensive coverage.

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

2Manufacturing precision

If all entry points are reviewed individually, then complete validation is achieved, but duplicate review points increase analysis complexity

Engineering Contradiction:
Improvevalidation completenessVSAvoidanalysis complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple entry points into a single wrapper function, merging their validation requirements into one unified analysis. This eliminates duplicate review points while maintaining complete validation, as the wrapper function encompasses all entry points and their respective validation criteria in a single structured entity.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If multiple tasks are run in parallel for each entry point, then thorough analysis is achieved, but processing overhead increases

Engineering Contradiction:
Improveanalysis thoroughnessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges multiple parallel task executions into a single processing operation by creating a wrapper function that consolidates all entry points. This unified function is then analyzed in one processing pass, eliminating the overhead of managing multiple parallel tasks while maintaining thorough analysis through the comprehensive wrapper structure.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9703555B2System and method for analyzing software application in view of entry points
Publication Date: 2017.07.11 TATA CONSULTANCY SERVICES LTD
  • US9703555B2 patent drawing
  • US9703555B2 patent drawing
  • US9703555B2 patent drawing

AI summary

The present disclosure provides a system and method for performing an analysis of a software application in a computing environment. A receiving module accepts source code of the software application as input data and obtains a list of the entry points. Intermediate representation from the input data is generated in order to construct informative structure for the software application. Uncalled functions in the software application are identified and are considered as entry points. The entry points are wrapped into one entry point and analyzed maintaining calling context of all the entry points.