Document Diff Pattern Recognition for Clearer Code Review

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional diffing tools struggle to distinguish between repetitive refactoring changes and functional changes in code reviews, leading to important structural changes being overlooked and potential merge conflicts.

Innovation Solution

Identify patterns in differences between document versions to categorize changes as pattern or non-pattern differences, applying distinct visual treatments to highlight non-repetitive functional changes and deemphasize repetitive refactoring changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If all differences are displayed with the same visual treatment, then completeness of information is maintained, but important structural changes become difficult to identify among repetitive refactoring changes

Engineering Contradiction:
Improvevisibility of important changesVSAvoidease of review
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent applies different visual treatments to different types of differences based on their characteristics. Pattern differences (repetitive refactoring changes) receive one visual treatment while non-pattern differences (important structural changes) receive a different, more prominent visual treatment. This allows the review system to highlight locally where important changes occur without sacrificing the completeness of information about all differences.

Inventive Principle:
Principle #3Local quality

2Loss of information

If all differences are highlighted equally, then no information is lost, but review time increases and merge conflicts may occur

Engineering Contradiction:
Improvecompleteness of difference informationVSAvoidreview time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts pattern differences (repetitive refactoring changes) from the overall set of differences and applies a distinct visual treatment that allows them to be processed more efficiently. By separating these routine changes visually from non-pattern differences, reviewers can quickly acknowledge repetitive changes while focusing detailed attention only on unique, important structural changes, thereby reducing overall review time without losing information about any differences.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If repetitive refactoring changes are displayed prominently, then completeness is maintained, but functional changes become lost in the forest of refactoring changes

Engineering Contradiction:
Improvevisibility of all changesVSAvoidability to identify functional changes
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The patent uses different visual treatments (such as color coding, highlighting, or other visual distinctions) to differentiate between pattern differences and non-pattern differences. Non-pattern differences representing functional changes are given more prominent visual treatment, making them stand out against the background of repetitive refactoring changes. This maintains complete visibility of all changes while enabling precise identification of functional changes that require careful review.

Inventive Principle:
Principle #32Color changes

Data Source

PatentUS12578960B2Distinguishing pattern differences from non-pattern differences
Publication Date: 2026.03.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12578960B2 patent drawing
  • US12578960B2 patent drawing
  • US12578960B2 patent drawing

AI summary

Distinguishing pattern differences from non-pattern differences. A set of differences is identified. The set comprises a plurality of differences between first and second versions of a document. A pattern is identified. The pattern explains a transformation from a first string in the first version of the document to a second string in the second version of the document. A subset of differences are identified. The subset comprises a plurality of differences, from among the set, which match the pattern. While presenting a user interface that visually highlights differences between the first and second versions of the document, a first visual treatment is applied to a first difference, based on the first difference being included in the subset. A second visual treatment is also applied to a second difference, based on the second difference being excluded from the subset. The second visual treatment is different than the first visual treatment.