Fingerprint-Initiated Trace Extraction for Code Segments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging tools require analyzing entire software programs to diagnose performance issues, which is time-consuming and often impractical due to proprietary code, and state-of-the-art performance monitors struggle to pinpoint specific code sections causing problems.

Innovation Solution

Implementing a fingerprint-initiated trace extraction method within a computer processor that automatically recognizes specific code fingerprints associated with performance issues, allowing for targeted tracing and analysis of only the affected code segment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If entire software program is analyzed to diagnose performance issues, then diagnostic completeness is improved, but diagnostic time and resource consumption increase significantly

Engineering Contradiction:
Improvediagnostic completenessVSAvoiddiagnostic time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the software program into multiple code sections and assigns unique fingerprints to each section. Instead of analyzing the entire program, the system divides it into manageable parts that can be independently identified and traced, allowing focused analysis on only the problematic segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary code section containing the performance issue from the entire software program. By using fingerprints to identify and extract the specific problematic code segment, the system avoids the time-consuming process of analyzing the complete program while maintaining diagnostic accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If proprietary code is analyzed in full to identify problem locations, then problem detection accuracy is improved, but operational complexity and resource requirements worsen

Engineering Contradiction:
Improveproblem detection accuracyVSAvoidoperational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing fingerprints for each code section before execution. These fingerprints are prepared in advance and stored in a data structure, enabling rapid identification of code sections during runtime without requiring complex real-time analysis of the entire proprietary codebase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified representations (fingerprints) of code sections that capture essential identifying features without requiring access to or analysis of the complete proprietary source code. These fingerprint copies enable problem detection while maintaining operational simplicity.

Inventive Principle:
Principle #26Copying

3Measurement precision

If state-of-the-art performance monitors are used to pinpoint specific code sections, then problem localization capability is improved, but system complexity and implementation difficulty increase

Engineering Contradiction:
Improveproblem localization capabilityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning unique, localized fingerprints to specific code sections rather than using a monolithic monitoring approach. Each code section has its own distinctive fingerprint characteristics, enabling precise localization of performance issues without requiring complex system-wide monitoring infrastructure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10282276B2Fingerprint-initiated trace extraction
Publication Date: 2019.05.07 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10282276B2 patent drawing
  • US10282276B2 patent drawing
  • US10282276B2 patent drawing

AI summary

Techniques relate to fingerprint-initiated trace extraction. A determination is made of whether a fingerprint is present in software that is currently executing on a processor of a computer system. The fingerprint comprises a representation of a sequence of behavior that occurs in the processor while the software is executing. In response to determining that the fingerprint is not present in the software currently executing on the processor, monitoring continues for the software executing on the processor to determine whether the fingerprint is present. In response to determining that the fingerprint is present in the software executing on the processor, a trace is triggered of a code segment of the software corresponding to when the fingerprint is recognized. The trace is for a record of instructions of the code segment of the software.