Serialized View Model Debugging via State Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in debugging software applications due to complex code writing, leading to bugs and defects that cause crashes or unexpected error conditions, which can frustrate users and hinder application performance.

Innovation Solution

The system provides serialized view models that capture and transmit error data, such as stack traces and process images, from user devices to a service for debugging, allowing developers to diagnose and fix issues efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers write complex code to create software applications, then the application functionality and features are improved, but the likelihood of bugs and defects increases

Engineering Contradiction:
Improveapplication functionalityVSAvoidcode reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by capturing and serializing view model state data before errors occur. Error monitoring code is embedded in advance to detect and record application state information, allowing developers to analyze the exact state when errors occur without needing to reproduce the complex sequence of events that led to the error.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the application captures detailed error data for debugging, then debugging performance is improved, but network usage increases

Engineering Contradiction:
Improvedebugging performanceVSAvoidnetwork usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system extracts only the essential view model state data needed for debugging, rather than capturing entire application states or logs. By serializing specific view model properties that represent the application's data state, the system transmits minimal necessary information to servers, reducing network bandwidth consumption while providing sufficient detail for developers to diagnose issues.

Inventive Principle:
Principle #2Taking out (Extraction)

3Difficulty of detecting and measuring

If the application transmits error data to a service, then debugging capability is improved, but data transmission time increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddata transmission time
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of time

Solution Approach 1:

The system changes the parameter of data representation by serializing view model state into a compact format. Instead of transmitting raw objects or detailed logs, the serialized format encodes the essential state information in a space-efficient manner, reducing transmission time and network overhead while preserving all necessary debugging information.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10394690B1Serialize view model for debugging and application support
Publication Date: 2019.08.27 BLOCK INC
  • US10394690B1 patent drawing
  • US10394690B1 patent drawing
  • US10394690B1 patent drawing

AI summary

Techniques for generating serialized view models that are used for both debugging an application and application support. The techniques include executing an application, creating a view model associated with the application, the view model including information associated with a service provided by the application, and presenting a user interface associated with the view model. The techniques can further include identifying, while presenting the user interface, an error occurring with the application, capturing a stack trace corresponding to the error, capturing a process image of the view model, serializing the process image of the view model to generate a serialized view model, and sending the stack trace and the serialized view model to a service. The service can then use the stack trace and the serialized view model to debug the application.