Software Defect Management via Aggregated State Log Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face challenges in diagnosing and reporting software defects due to the complexity of modern operating systems and software applications, as existing solutions fail to capture the complete failing state of the operating system and do not effectively handle all types of software defects, especially those caused by interactions between multiple applications.

Innovation Solution

A system and method for managing software defects by receiving and analyzing software state logs from user computer systems, storing them in a defect repository, and detecting patterns to verify actual defects, which includes a defect repository server with a communications module, defect analyzer, and notification module to transmit verification to user systems and third parties.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a software application has a handler that transmits notification when it reaches a failing state, then the application can report termination errors, but it fails to capture the complete failing state of the operating system and cannot handle defects caused by multiple interacting applications

Engineering Contradiction:
Improvedefect detection capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the defect reporting function into multiple independent components: a defect detection module that identifies potential defects, a state logging module that captures complete system state information, a data transmission module that sends information to the server, and a server-side analysis module that processes the collected data. This segmentation allows each component to specialize in one aspect of defect management while working together to provide comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary defect management system that acts as a mediator between the user's computer system and the software developers. This intermediary collects, aggregates, and analyzes defect information from multiple sources before presenting it to developers, enabling them to understand patterns and root causes that would be invisible from individual defect reports alone.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If users manually report software defects, then they can provide feedback about problems, but they cannot effectively diagnose the defect or provide sufficient information to recreate or verify it

Engineering Contradiction:
Improvedefect reporting easeVSAvoiddefect information completeness
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The system performs preliminary actions by automatically collecting and logging complete system state information (including registry settings, running processes, and system configuration) before the user needs to report a defect. This preliminary data collection ensures that all necessary information is already captured and organized when the user submits their report, eliminating the need for users to manually gather technical details.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The defect management system provides self-service functionality by automatically diagnosing potential defects, analyzing collected system state data, and generating comprehensive defect reports without requiring user expertise. The system serves itself by identifying patterns, correlating events, and preparing formatted reports that users can submit with minimal effort.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If the system collects complete software state information from all user systems, then it can accurately diagnose defects, but it increases the quantity of data to be processed and stored

Engineering Contradiction:
Improvedefect diagnosis accuracyVSAvoiddata volume
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system extracts only the essential and relevant information from the complete system state data collected from user systems. Rather than storing or processing all raw data, the defect management system identifies and extracts key elements such as error codes, relevant system configurations, and critical event sequences that are necessary for accurate defect diagnosis, discarding redundant information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system applies partial action by collecting complete system state information selectively based on the specific defect context. Rather than always collecting all possible data, the system adapts its data collection scope to match the specific defect being investigated, gathering only the necessary level of detail required for that particular diagnostic situation.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7487406B2Systems, methods, and media for managing software defects
Publication Date: 2009.02.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7487406B2 patent drawing
  • US7487406B2 patent drawing
  • US7487406B2 patent drawing

AI summary

Systems, methods and media for managing software defects by aggregating potential software defect information from a plurality of user computer systems are disclosed. Embodiments may include receiving a plurality of software state logs each from an originating user computer system, where each software state log is associated with a potential software defect of an application executing on its originating user computer system and each software state log includes software state information associated with its originating user computer system. Embodiments may also include storing the received software state logs in a defect repository and analyzing the software state information of the stored software state logs to detect patterns in the software state information. Further embodiments may include verifying that a potential software defect associated with a software state log is a defect and transmitting a verification of the software defect to the particular user computer system.