Generic Core Format for Optimized Program Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional debugging techniques for software are inefficient and inaccurate, particularly when dealing with optimized code, as they require rebuilding unoptimized code and replicating errors across different platforms, which can be time-consuming and impractical, especially when dealing with large source bases and varying core file formats.

Innovation Solution

A method for analyzing optimized program files in a platform-independent manner by converting data into a generic format (GCORE) that includes symbol and type information, allowing for the reconstruction of program structures and values at the time of failure, enabling analysis on any platform without the need for recompilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional debugging techniques are used to analyze optimized code, then debugging can be performed, but the process requires rebuilding unoptimized code and replicating errors across different platforms, which is time-consuming and inefficient

Engineering Contradiction:
Improvedebugging accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a copy of the optimized binary file and converts it to a generic format (GCORE) that preserves all necessary debugging information. This copy can be analyzed without needing to rebuild the original source code, eliminating the time-consuming recompilation process while maintaining debugging accuracy.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary conversion of the optimized binary to a generic format that includes all debugging information before analysis is needed. This preliminary action prepares the data in advance, so when debugging is required, the information is already available without needing to rebuild code or replicate errors across platforms.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If unoptimized code is rebuilt for debugging, then symbol and type information becomes available, but the code size increases significantly and the build process becomes extremely inefficient for large source bases

Engineering Contradiction:
Improvesymbol and type informationVSAvoidbuild efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent extracts symbol and type information from the optimized binary file by converting it to a generic format (GCORE). This extraction process retrieves the necessary debugging information without requiring a full rebuild of the unoptimized code, thus maintaining build efficiency while recovering lost information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a generic core format (GCORE) as an intermediary representation that bridges optimized binaries and debugging tools. This intermediary format contains all necessary symbol and type information in a platform-independent manner, allowing debugging without rebuilding code while preserving information completeness.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If manual inspection of source code is performed while running optimized executables, then engineers can pinpoint error areas, but the process is inaccurate and time-consuming

Engineering Contradiction:
Improveerror identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent creates a generic format copy of the optimized binary that includes all symbol and type information. This copy enables automated analysis with high precision, eliminating the need for manual source code inspection while significantly reducing analysis time.

Inventive Principle:
Principle #26Copying

4Reliability

If platform-specific debugging is performed on different platforms, then errors can be replicated, but the process requires multiple environments and duplicating effort

Engineering Contradiction:
Improveerror replication accuracyVSAvoiddebugging environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent converts platform-specific binary formats into a universal generic format (GCORE) that can be analyzed on any platform. This universal format preserves all debugging information while eliminating platform dependencies, allowing single-environment analysis that maintains reliability without requiring multiple platform-specific debugging environments.

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

Solution Approach 2:

The generic core format (GCORE) serves as an intermediary that translates platform-specific binary formats into a platform-independent representation. This intermediary enables cross-platform error analysis in a single environment, eliminating the need to replicate errors across multiple platforms while maintaining accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8156478B2Optimized program analysis
Publication Date: 2012.04.10 ORACLE INT CORP
  • US8156478B2 patent drawing
  • US8156478B2 patent drawing
  • US8156478B2 patent drawing

AI summary

The present invention generally relates to computer software, and more specifically, to a computerized utility for analysis of optimized program files. A method and apparatus for optimized program analysis is disclosed.