Software Error Detection Using DOM Screenshot Comparison
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
Data Source
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.


