Expert Diagnostic Agent for Software Failure Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software diagnosis tools are limited by low automation and a narrow problem domain scope, making them costly, complex, and difficult to use, especially when dealing with intermittent or difficult-to-reproduce software failures, known as 'soft failures', which require substantial investigation and expertise to diagnose and correct.

Innovation Solution

An expert diagnostic agent that communicates with a computing device's operating system and software components through analyzers, utilizing a rules database and execution unit repository to gather and analyze data, automate decision-making, and trigger actions, thereby providing a more automated and broadly applicable diagnostic tool.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual information gathering process is used for soft failures, then expertise and understanding of system components is improved, but time consumption and cost increase

Engineering Contradiction:
Improvediagnostic accuracyVSAvoidtime consumption
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The diagnostic system performs self-diagnosis by automatically gathering information from multiple system components, analyzing the collected data, and generating diagnostic reports without requiring continuous human intervention. The system serves itself by executing diagnostic routines, processing memory dumps, and identifying software defects autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

An automated diagnostic agent acts as an intermediary between the system components and the user. This agent collects information from various system components, processes the data using predefined rules and algorithms, and presents diagnostic results to users, thereby eliminating the need for manual investigation while maintaining diagnostic accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive data gathering and analysis is performed for soft failures, then diagnostic capability is improved, but device complexity increases

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The diagnostic system is segmented into distinct functional modules including information gathering from system components, data processing and analysis, rule-based decision making, and report generation. Each module performs a specific function, making the overall complex system manageable and maintainable while achieving comprehensive diagnostic capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The diagnostic system is designed as a universal platform that can diagnose multiple types of software failures across different system components. By implementing a unified architecture that handles various failure modes through common processes and algorithms, the system achieves broad diagnostic capability without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If automated diagnostic tool is implemented, then productivity is improved, but ease of operation may worsen

Engineering Contradiction:
Improvediagnostic efficiencyVSAvoiduser friendliness
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system creates simplified copies or representations of complex system states through automated data collection and analysis. Instead of requiring users to directly interact with complex system internals, the diagnostic tool generates simplified diagnostic reports and recommendations that are easy to understand and act upon, maintaining ease of operation while achieving high productivity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7380172B2Expert software diagnostic tool
Publication Date: 2008.05.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7380172B2 patent drawing
  • US7380172B2 patent drawing
  • US7380172B2 patent drawing

AI summary

An expert diagnostic agent for use in diagnosing intermittent and/or difficult to reproduce software failures in computing devices is disclosed. The expert diagnostic agent gathers data about the operating system of a computing device and a plurality of software components coupled to the computer operating system; applies rules to the data to identify software failures; invokes tools as needed to attempt to correct the software failures; and reports information about software failures. The expert diagnostic agent may be invoked directly or activated by certain events in computer system.