Synthesizing Trace Data from Software Output for Error Diagnosis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, the lack of trace data collection during production environments hinders effective error diagnosis, as minimal or no trace entries are produced, making it difficult for support teams to analyze software errors without additional tracing enabled, which delays problem resolution and reduces customer satisfaction.

Innovation Solution

A method that stores and formats recently captured output data and working data in a conventional trace data format, generating a trace dataset by integrating these data sources chronologically to create a synthesized trace dataset for problem diagnosis, including system log data, without requiring increased tracing levels or active trace data collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If trace data collection is enabled in production environments, then error diagnosis capability is improved, but software performance deteriorates due to reduced efficiency

Engineering Contradiction:
Improveerror diagnosis capabilityVSAvoidsoftware performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by capturing and storing output data, working data, and trace entries in memory during normal operation. When an error occurs, these pre-collected data are immediately formatted and integrated into a trace dataset without requiring continuous trace collection, thus preparing diagnostic information in advance while maintaining performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts only the necessary diagnostic information (recent output data, working data, and trace entries) from the system memory at the time of error occurrence, rather than continuously collecting all trace data. This selective extraction provides sufficient information for error diagnosis while minimizing the performance overhead

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If minimal trace data collection is enabled, then software performance is maintained, but error diagnosis capability deteriorates due to insufficient trace entries

Engineering Contradiction:
Improvesoftware performanceVSAvoiderror diagnosis capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system merges multiple data sources (output data, working data, and trace entries) into a unified trace dataset format. By combining these different types of data and formatting them consistently, the system provides comprehensive diagnostic information even when traditional trace collection is minimal, thus improving error diagnosis capability without requiring continuous trace data collection

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If no trace entries are produced, then software efficiency is maintained, but problem diagnosis becomes difficult without additional tracing

Engineering Contradiction:
Improvesoftware efficiencyVSAvoidproblem diagnosis difficulty
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system provides self-service by automatically generating and formatting trace datasets from existing data sources when errors occur. The trace dataset is created autonomously using captured output data, working data, and trace entries, eliminating the need for manual intervention or additional tracing configuration, thus maintaining efficiency while enabling effective problem diagnosis

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10331544B2Creating trace data from recent software output and activity
Publication Date: 2019.06.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10331544B2 patent drawing
  • US10331544B2 patent drawing
  • US10331544B2 patent drawing

AI summary

Creating additional trace entries by dynamically processing recently captured output data, working data, and input data to diagnose a software error. Integrating additional trace entries in chronological order with conventional trace entries into a single trace dataset for analysis.