In-Memory Object Serialization for Version Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development teams face difficulties in comparing application documents or in-memory objects across different versions of an application program, leading to potential undetected changes and introduced bugs due to format changes and lack of comprehensive comparison methods.

Innovation Solution

The technology involves serializing in-memory objects of an application program to detect differences between versions by using a serialization driver file to specify objects, properties, and methods for comparison, storing them in generic object containers, and logging differences for bug identification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If file format comparison is used to compare application documents between versions, then comparison can be performed on saved documents, but changes in file format and lack of specific order make comparison complicated and difficult

Engineering Contradiction:
Improveease of comparisonVSAvoidcomparison complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary representation format that converts documents from their stored file formats into a standardized comparison format. This intermediary step allows comparison to proceed on structured, ordered data regardless of the original file format variations, thereby simplifying the comparison operation while handling format changes systematically

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation of documents by transforming them from their native file formats into a standardized comparison format with specific ordering. This parameter transformation enables consistent comparison by converting heterogeneous file formats into a uniform structure that can be systematically analyzed

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If manual comparison of single aspect or subset of data is performed, then specific software changes can be tested, but other portions or data outside the subset may differ and go undetected

Engineering Contradiction:
Improvetesting precisionVSAvoidundetected differences
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent creates a universal comparison mechanism that can compare any subset or the entire document structure. The same comparison engine handles both targeted subset comparisons and comprehensive full-document comparisons, providing multi-functionality that prevents information loss while maintaining precision for specific testing needs

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables the user to perform partial comparisons of specific subsets when needed for targeted testing, while also allowing excessive action by comparing the entire document structure to ensure no differences are missed. This flexible approach lets users balance precision and completeness based on testing requirements

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If comprehensive comparison of entire application document structure is performed, then all differences can be detected, but the complexity of comparing entire document structure increases

Engineering Contradiction:
Improvedetection reliabilityVSAvoidcomparison system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the document structure into hierarchical components that can be compared systematically. By dividing the entire document structure into manageable segments organized in a hierarchy, the system achieves comprehensive comparison for high detection reliability while reducing the practical complexity through structured, modular processing

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8732664B2Document serialization and comparison via object model
Publication Date: 2014.05.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8732664B2 patent drawing
  • US8732664B2 patent drawing
  • US8732664B2 patent drawing

AI summary

Technologies are described herein for serializing in-memory objects of an application program for purposes of comparison. A request to serialize in-memory objects of an application program is received. A list of one or more objects, properties, or methods to be serialized is read from a serialization driver file and the one or more objects, properties, or methods in an object memory of the application program are accessed through an object model exposed by the application program. Values from the one or more objects, properties, or methods in the object memory are serialized and stored in a generic object container that facilitates comparison between the serialized values from the application program and corresponding values from other versions of the application program.