Multi-Version Code Comparison Interface for Feature Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems face challenges in comparing and analyzing different versions of application code, as existing code viewing tools do not effectively allow developers to consider and compare multiple versions simultaneously.

Innovation Solution

A system and method for presenting different versions of application code, which includes a selection of code versions, retrieval of information about the selected version, and a description of features with a version summary to indicate the versions containing each feature, allowing for detailed comparison and analysis of code versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional code viewing tools are used, then developers can view and edit code, but developers cannot easily compare multiple versions of code simultaneously

Engineering Contradiction:
Improvecode comparison capabilityVSAvoidversion difference information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The code comparison tool segments the codebase into individual features and organizes them in a hierarchical tree structure. Each feature can be independently examined for version differences, allowing developers to systematically compare specific code elements across multiple versions without being overwhelmed by the entire codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a version dimension to the traditional single-view code editor by implementing a multi-version comparison interface. This new dimension allows developers to simultaneously view and compare multiple versions of code features side-by-side, transforming the single-dimensional code viewing experience into a multi-dimensional comparison environment.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If code analysis is performed on multiple versions, then comprehensive code information is obtained, but the complexity of analyzing and comparing increases

Engineering Contradiction:
Improvecode feature informationVSAvoidcomparison tool complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The codebase is divided into discrete features that can be individually analyzed and compared. This segmentation allows the complex task of multi-version code analysis to be broken down into manageable units, where each feature's changes can be examined separately rather than attempting to analyze the entire codebase at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary hierarchical tree structure that mediates between the raw code data and the comparison interface. This tree structure organizes code features and their version relationships, serving as an intermediate layer that simplifies the complexity of multi-version comparison by presenting information in a structured, navigable format.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If detailed feature descriptions are provided for all versions, then complete code information is available, but the presentation becomes overwhelming and difficult to navigate

Engineering Contradiction:
Improvefeature description informationVSAvoidcode navigation ease
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

Feature descriptions are segmented and organized within the hierarchical tree structure, allowing developers to access detailed information only for specific features of interest. This segmentation enables complete information availability while maintaining ease of navigation, as developers can drill down into specific feature details only when needed rather than being presented with all information at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The interface applies local quality by providing different levels of information detail at different levels of the hierarchy. Summary information is displayed at higher levels for quick overview, while detailed feature descriptions are available at lower levels for in-depth analysis. This allows the presentation to adapt to the user's immediate needs, providing comprehensive information without overwhelming the developer.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8782605B2Methods and systems for presenting different versions of an application
Publication Date: 2014.07.15 SALESFORCE INC
  • US8782605B2 patent drawing
  • US8782605B2 patent drawing
  • US8782605B2 patent drawing

AI summary

Methods and systems for presenting different versions of an application are described. In one example, a selection of a version of application code is received. Such a selection may include a simultaneous selection of all versions. Information about the selected version is retrieved. A description of features contained within the selected version is presented and then a version summary for each listed feature is displayed, together with the description of features, to indicate the versions of the application code that contain the respective feature.