Software Diagnosis Module for Automated Error Reporting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software developers face challenges in diagnosing and reporting unexpected software errors in industrial automation due to geographical and access restrictions, insufficient logging, and the reactive nature of error handling, which hinders timely identification and resolution of issues.
Innovation Solution
A system comprising a diagnosis module that monitors resource usage, adjusts logging levels, and generates diagnosis advisories, along with a reporting module that automatically collects and reports usage data, log files, and user-generated information to facilitate proactive error analysis and reporting.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the logging level is set to very low to minimize performance and resource impact, then system performance is improved, but the ability to collect vital information for error analysis deteriorates
Solution Approach 1:
The system performs preliminary actions by proactively monitoring software execution and automatically collecting diagnostic information before errors occur or immediately when they are detected. The diagnosis module continuously gathers system state data, log files, and configuration information in advance, so that when an error occurs, comprehensive information is already available for analysis without needing to increase logging levels retrospectively.
Solution Approach 2:
The system enables self-service by implementing automated error detection and information collection capabilities that operate without customer intervention. The diagnosis module automatically monitors for errors, collects relevant diagnostic data, and prepares comprehensive reports, eliminating the need for customers to manually adjust logging levels or gather information themselves.
2Ease of operation
If the software developer requests the customer to collect and provide information manually, then the customer's knowledge and effort are required, but the customer becomes frustrated and the process becomes inefficient
Solution Approach 1:
The system implements self-service by enabling automated collection of diagnostic information directly from the customer environment. The diagnosis module automatically gathers system configuration, log files, and error data without requiring customer knowledge or manual intervention, thus improving ease of operation and eliminating time loss associated with customer involvement in data collection.
Solution Approach 2:
The system introduces an intermediary automated diagnosis system that acts as a bridge between the customer environment and the software developer. This intermediary automatically collects and transmits diagnostic information, eliminating the need for direct customer-developer interaction for information gathering and reducing frustration and time loss.
3Reliability
If an extended period passes between error occurrence and log collection, then the system has time to recover, but the log files containing vital information may be deleted or overwritten
Solution Approach 1:
The system performs preliminary action by detecting errors in real-time and immediately collecting diagnostic information at the moment of error occurrence. The diagnosis module continuously monitors system state and automatically captures relevant data when errors are detected, preventing information loss that would occur if collection were delayed until later when log files might be overwritten.
Solution Approach 2:
The system implements feedback by continuously monitoring system execution and providing immediate response when errors are detected. The diagnosis module detects error conditions and triggers automatic information collection and reporting, creating a closed-loop feedback mechanism that ensures timely capture of diagnostic information before it can be lost.
4Adaptability or versatility
If the software error is totally not anticipated by the software developer, then the software is more flexible, but no relevant or useful information is logged at all
Solution Approach 1:
The system enables self-service by implementing automated monitoring and error detection capabilities that do not depend on developer anticipation. The diagnosis module continuously monitors system execution and automatically detects unexpected errors, collecting comprehensive diagnostic information for any error condition regardless of whether it was anticipated during development.
Solution Approach 2:
The system performs preliminary action by pre-configuring comprehensive monitoring and information collection mechanisms that are ready to capture any error condition. The diagnosis module is prepared in advance to detect and record information about unexpected errors, ensuring that even unanticipated errors generate useful diagnostic data without requiring specific logging configurations for each error type.
Data Source
AI summary
A system for self-diagnosing and error reporting of a software application in a computer system having a plurality of software applications and background processes, the system comprising a diagnosis module configured to collect and monitor usage data of resources of the computer system, execution status of the software applications and background processes of the computer system, and software application error conditions, adjust logging level of log files according to the execution status of the software applications and background processes of the computer system and the software application error conditions, and generate diagnosis advisory based on the usage data of the resources of the computer system and the software error conditions, and a reporting module configured to collect and report the usage data of the resources of the computer system, the log files and the generated diagnosis advisory automatically to a user.


