Automatic Software Behavior Identification Using Execution Records

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying and addressing logical errors in software that manifest only in production environments, which can be due to environmental configurations rather than the software itself, is challenging due to the vast variety of potential environmental issues that are difficult to anticipate during the authoring phase.

Innovation Solution

The automatic identification of execution behaviors in software using historical analysis of execution records to detect patterns that represent environmental issues, allowing for the modification of these behaviors to better align with the production environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code is tested in development environments, then logical errors can be found early, but environment-specific errors that manifest only in production cannot be detected

Engineering Contradiction:
Improvedetection of logical errorsVSAvoidcoverage of production environment characteristics
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates execution records that capture the actual runtime behavior and environment characteristics from production systems. These records serve as copies of the production environment state, allowing analysis without directly accessing the production system. This enables detection of environment-specific errors by analyzing copied execution data in a controlled manner.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary analysis of execution records to identify patterns and anomalies before they cause production failures. By analyzing historical execution data in advance, the system can detect potential environment-specific issues and alert developers before they manifest as critical production errors.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive execution tracing is implemented, then all environment-specific errors can be captured, but system complexity and overhead increase significantly

Engineering Contradiction:
Improvedetection of environment-specific errorsVSAvoidexecution recording system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential execution information needed for error detection from the complex production environment. Instead of capturing every detail of system execution, it selectively records specific events, states, and environment parameters that are most relevant for identifying environment-specific errors, thereby reducing complexity while maintaining detection effectiveness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial execution tracing that focuses on capturing sufficient execution records to detect environment-specific errors without implementing complete end-to-end tracing of all system operations. This partial approach provides adequate error detection capability while avoiding the excessive complexity and overhead of comprehensive tracing.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If execution records are analyzed manually, then detailed environment issues can be identified, but the process is time-consuming and inefficient

Engineering Contradiction:
Improveidentification of environment issuesVSAvoiderror detection speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements automated analysis of execution records that provides feedback to developers about detected environment-specific errors. The system continuously monitors execution records, automatically identifies anomalies and patterns indicating environment issues, and feeds this information back to developers in a timely manner, eliminating the need for manual analysis while maintaining high detection precision.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables the execution recording and analysis system to automatically detect and report environment-specific errors without requiring manual intervention. The system self-services by autonomously capturing execution data, analyzing it for anomalies, identifying environment issues, and generating reports, thereby dramatically improving detection speed while maintaining detailed analysis capability.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11755458B2Automatic software behavior identification using execution record
Publication Date: 2023.09.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11755458B2 patent drawing
  • US11755458B2 patent drawing
  • US11755458B2 patent drawing

AI summary

Automatic identification of execution behavior(s) of software. This automatic identification is based on analysis of historical execution records using machine learning to identify a particular pattern that corresponds to an execution behavior. In order to automatically identify an execution behavior present within particular software, an execution record of that particular software is accessed. The execution record includes an execution trace that reproducibly represents the execution of the software within a particular execution environment, such that the execution record is usable to rerun the execution of the software precisely as the software previously run. Based on finding the particular pattern within the execution record, the computing system automatically identifies that the execution behavior is present within the software.