Dynamic Error Detection via Rank Scored Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In programmatic environments with complex asynchronous dependencies, identifying the root cause of errors is inefficient due to excessive logging, which affects reliability, usability, and performance, and current methods require manual specification of logging points and observation of method execution.

Innovation Solution

A system that uses defined execution conditions and condition triggers to automatically collect log data only when errors occur, calculating rank scores to identify the most probable root cause methods and dynamically instrumenting them for detailed error logging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If detailed logging is implemented to locate root cause of problems, then measurement precision of errors is improved, but use of energy and runtime cost increase

Engineering Contradiction:
Improveerror detection precisionVSAvoidruntime cost
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies different logging qualities to different parts of the system. Critical methods that are likely to cause errors receive detailed logging instrumentation, while non-critical methods use minimal or no logging. This localized approach to logging quality maintains error detection precision for important components while reducing overall runtime cost and energy consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial logging by selectively instrumenting only the subset of methods that are most likely to cause errors, rather than logging all methods. The error detection system identifies and focuses logging resources on critical paths and high-risk methods, achieving sufficient measurement precision with reduced logging overhead.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If a larger set of logs is included to troubleshoot problems, then reliability of error detection is improved, but productivity of software system decreases

Engineering Contradiction:
Improveerror detection reliabilityVSAvoidsoftware system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enhances error detection reliability by concentrating logging efforts on critical methods and execution paths where errors are most likely to occur. Rather than uniformly logging all methods, the system identifies high-risk areas and applies detailed logging only there, maintaining detection reliability while preserving overall system productivity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The error detection system automatically identifies and instruments critical methods without requiring manual specification of all logging points. The system self-adapts to focus logging resources on the most problematic areas, improving reliability while minimizing the performance overhead that would result from comprehensive logging.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If dynamic instrumentation is used to collect log data, then ease of operation for error collection is improved, but device complexity increases

Engineering Contradiction:
Improveerror data collection easeVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system automatically performs error detection and logging without requiring developers to manually specify trace-points or interactively enable/disable logging. The error detection system self-identifies critical methods, automatically instruments them with appropriate logging, and manages the entire error collection process autonomously, improving ease of operation while the automation manages the inherent complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis to identify critical methods and execution paths before error occurrence. By pre-instrumenting only the identified critical methods with logging capability, the system simplifies the operational process of error collection while the preliminary identification and selective instrumentation manage the system complexity.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If automatic logging is implemented only when errors occur, then loss of time for logging is reduced, but measurement precision may be insufficient

Engineering Contradiction:
Improvelogging overhead timeVSAvoiderror detection precision
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system applies different logging strategies to different methods based on their criticality. For automatically identified critical methods, detailed logging is implemented to maintain measurement precision. For non-critical methods, minimal or no logging is performed, reducing overall logging overhead time while preserving precision where it matters most.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system implements partial logging by focusing detailed logging only on the subset of critical methods that are most likely to cause errors. This selective approach reduces the total logging overhead time compared to comprehensive logging, while maintaining sufficient measurement precision for error detection in the critical areas.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10509694B2System and methods for optimal error detection in programmatic environments
Publication Date: 2019.12.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10509694B2 patent drawing
  • US10509694B2 patent drawing
  • US10509694B2 patent drawing

AI summary

System and methods are provided for optimal error detection in programmatic environments through the utilization of at least one user-defined condition. Illustratively, the conditions can include one or more triggers initiating the collection of log data for methods associated with the provided at least one condition. Operatively, the disclosed systems and methods observe the run-time of the programmatic environment and initiate the collection of log data based on the occurrence of a condition trigger. A rank score can also be calculated to rank the methods associated with the defined condition to isolate those methods that have higher probability of causing the defined condition. Dynamic instrumentation of the methods associated with the user defined conditions during run time are used to calculate the rank score, which is used for ranking the methods.