Software Error Detection Using DOM Screenshot Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional error reporting systems in computing systems face challenges in efficiently tracking and analyzing data to determine the cause of software errors, often resulting in incomplete or irrelevant data collection and resource-intensive storage and processing requirements.

Innovation Solution

The system stores document object model (DOM) data targeted to a specific application, using machine learning models to determine if the DOM can accurately reproduce screenshots, thereby reducing storage and bandwidth needs. It also generates an estimated rendering of the application based on the DOM to compare with actual screenshots, allowing for efficient data management and error analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional systems collect snapshots of system and memory contents at the time of error, then error analysis capability is improved, but storage space and processing resources required become excessive

Engineering Contradiction:
Improveerror analysis capabilityVSAvoidstorage space and processing resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the critical error-related data from the broader system state at the time of error occurrence. Instead of collecting complete snapshots of all system and memory contents, the system identifies and collects only specific data elements relevant to error analysis, such as error logs, affected memory addresses, and relevant process information, thereby reducing storage and processing requirements while maintaining error analysis capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the error data collection process into distinct components: error detection module, data collection module, and analysis module. Each component handles specific aspects of data collection and processing separately, allowing the system to manage resources more efficiently by processing and storing only the necessary segments of data rather than attempting to capture the entire system state

Inventive Principle:
Principle #1Segmentation

2Duration of action of moving object

If systems monitor logs over a period of time, then data collection duration is extended, but the data becomes insufficient for troubleshooting and reproduction

Engineering Contradiction:
Improvedata collection durationVSAvoidinsufficient data for troubleshooting
Core Design Contradiction:
Duration of action of moving objectVSLoss of information

Solution Approach 1:

The patent implements preliminary action by continuously monitoring system state and identifying potential error conditions before they occur. The system prepares and stores relevant data structures and error context information in advance, so when an error does occur, the necessary information is already organized and ready for immediate analysis, eliminating the need to search through lengthy log histories

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If conventional systems collect vast amounts of data around error time, then error context is improved, but the data becomes overwhelming and irrelevant information increases

Engineering Contradiction:
Improveerror context completenessVSAvoiddata parsing complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent applies local quality by focusing data collection on specific, error-relevant areas of the system state rather than uniformly collecting all available data. The system identifies and prioritizes collection of data elements locally associated with error conditions, such as stack traces, error messages, and affected data structures, while excluding unrelated system information, thereby reducing parsing complexity

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12216533B2Systems and methods for detecting software errors
Publication Date: 2025.02.04 CAPITAL ONE SERVICES LLC
  • US12216533B2 patent drawing
  • US12216533B2 patent drawing
  • US12216533B2 patent drawing

AI summary

A computing system may determine that a change has occurred in a software application or a document object model associated with a software application. The computing system may obtain a current copy of a document object model (DOM) associated with the application and a current screenshot of a screen displaying the application (e.g., in response to determining that the change in the DOM has occurred). If the current copy of the DOM is determined to be similar to the screenshot, the computing system may save storage space by storing the current copy of the DOM and discarding the screenshot. The computing system may store the current copy of the DOM in a memory buffer. The computing system may send the DOM copies or screenshots stored in the memory buffer to the monitoring system, for example, if an error in the application is detected.