Compressed Trace Log for Loop Iteration Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing debugging methods generate unwieldy trace logs due to the recording of every instruction executed during each iteration of each loop, making it difficult to diagnose issues in complex applications.

Innovation Solution

A method that stores information only for specific iterations of a loop based on predefined trace log conditions, discarding unnecessary information and summarizing loop execution to create a compressed trace log that persists after the loop has finished.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If trace logging records every instruction executed during each iteration of each loop, then complete debugging information is obtained, but the trace log size becomes unwieldy and difficult to analyze

Engineering Contradiction:
Improvedebugging information completenessVSAvoidtrace log size
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts and retains only the essential debugging information from loop iterations by applying filtering criteria. It identifies and keeps trace log entries for iterations that contain meaningful debugging value (such as iterations where loop variables change or error conditions occur) while discarding redundant entries from iterations that execute identical code paths, thereby reducing trace log size while preserving necessary debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant trace log information from iterations that are determined to be unnecessary for debugging purposes. By comparing loop iteration characteristics and identifying patterns of redundancy, the system selectively discards duplicate or irrelevant trace entries while recovering and preserving only the critical information needed for effective debugging analysis.

Inventive Principle:
Principle #34Discarding and recovering

2Reliability

If trace logging records all loop iterations, then comprehensive execution data is captured, but memory usage increases significantly

Engineering Contradiction:
Improvedebugging accuracyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential debugging information from loop iterations by applying filtering criteria. It identifies and keeps trace log entries for iterations that contain meaningful debugging value (such as iterations where loop variables change or error conditions occur) while discarding redundant entries from iterations that execute identical code paths, thereby reducing trace log size while preserving necessary debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant trace log information from iterations that are determined to be unnecessary for debugging purposes. By comparing loop iteration characteristics and identifying patterns of redundancy, the system selectively discards duplicate or irrelevant trace entries while recovering and preserving only the critical information needed for effective debugging analysis.

Inventive Principle:
Principle #34Discarding and recovering

3Measurement precision

If detailed trace information is stored for every iteration, then complete program behavior is tracked, but debugging analysis time increases

Engineering Contradiction:
Improveprogram execution tracking accuracyVSAvoiddebugging analysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts and retains only the essential debugging information from loop iterations by applying filtering criteria. It identifies and keeps trace log entries for iterations that contain meaningful debugging value (such as iterations where loop variables change or error conditions occur) while discarding redundant entries from iterations that execute identical code paths, thereby reducing trace log size while preserving necessary debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent discards redundant trace log information from iterations that are determined to be unnecessary for debugging purposes. By comparing loop iteration characteristics and identifying patterns of redundancy, the system selectively discards duplicate or irrelevant trace entries while recovering and preserving only the critical information needed for effective debugging analysis.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10705941B1Compressed trace log
Publication Date: 2020.07.07 ORACLE INT CORP
  • US10705941B1 patent drawing
  • US10705941B1 patent drawing
  • US10705941B1 patent drawing

AI summary

A method for debugging a program includes executing, by a computing platform, a given program with a plurality of loops. Each of the plurality of loops includes multiple candidate iterations, and each loop in the given program includes a set of executable statements. A particular loop of the plurality of loops can include at least a particular iteration and one or more other iterations. The method can also include executing at least the particular iteration and the one or more other iterations for the particular loop. During execution of at least the particular iteration and the one or more other iterations for the particular loop, information that indicates which iteration of the particular loop is being executed is stored. Further, the method includes discarding temporarily stored information about the one or more other iterations without storing the information in the log.