Syntactic Code Representations for Substantive Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code versioning systems struggle to efficiently distinguish substantive from non-substantive modifications in complex software codebases, particularly in whitespace-insensitive programming languages, leading to increased developer burden and potential errors.

Innovation Solution

Generate syntactic representations of codebase versions, such as abstract syntax trees, to identify and highlight only substantive modifications by comparing these representations, thereby filtering out non-substantive changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional code versioning systems compare raw code text to identify changes, then all modifications including non-substantive ones are detected, but this increases developer burden and potential errors

Engineering Contradiction:
Improvechange detection accuracyVSAvoiddeveloper burden
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces syntactic representations (abstract syntax trees) as an intermediary layer between the original code and the comparison process. By translating code into AST form before comparison, the system filters out non-substantive changes while preserving meaningful modifications, thus improving measurement precision without increasing developer burden

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the comparison parameter from raw text similarity to syntactic structure similarity. By changing the basis of comparison from character-level text to tree-level syntax structures, the system achieves more accurate detection of substantive changes while automatically excluding whitespace and formatting variations

Inventive Principle:
Principle #35Parameter changes

2Reliability

If code versioning systems track all code changes in complex codebases, then comprehensive change tracking is achieved, but computational resource usage increases

Engineering Contradiction:
Improvechange tracking completenessVSAvoidcomputational resource usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the syntactically significant portions of code changes by comparing AST representations. This extraction approach focuses computational resources on meaningful changes while automatically discarding non-substantive modifications, thereby maintaining reliable change tracking with reduced computational overhead

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

By changing the comparison parameter from character-level text to syntactic tree structures, the system achieves more efficient processing. The AST-based comparison inherently filters out redundant information (whitespace, formatting), reducing the amount of data that needs to be processed while maintaining complete tracking of substantive changes

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If conventional systems highlight all code modifications, then complete change visibility is provided, but non-substantive changes create noise and potential errors

Engineering Contradiction:
Improvechange information completenessVSAvoidfalse positives
Core Design Contradiction:
Loss of informationVSObject-generated harmful factors

Solution Approach 1:

The AST representation serves as an intermediary that filters out non-substantive changes before they reach the highlighting stage. By comparing syntactic structures rather than raw text, the system preserves information about meaningful changes while automatically excluding formatting variations, thus reducing false positives without losing important change information

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter being highlighted from text similarity to syntactic structure similarity. This parameter transformation ensures that only substantive code changes are highlighted, eliminating the noise of non-substantive modifications while maintaining complete visibility of meaningful changes

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12367033B2Identifying significant code changes via syntactic representation
Publication Date: 2025.07.22 RED HAT LLC
  • US12367033B2 patent drawing
  • US12367033B2 patent drawing
  • US12367033B2 patent drawing

AI summary

A first syntactic representation of a first version of a codebase and a second syntactic representation of a second version of the codebase are generated, the codebase comprising a plurality of units of software instructions. A portion of the first syntactic representation is determined to be different than a corresponding portion of the second syntactic representation. A first version and a second version of a unit of software instructions of the plurality of units of software instructions is obtained, wherein the portion of the first syntactic representation is based on the first version of the unit of software instructions and the corresponding portion of the second syntactic representation is based on the second version of the unit of software instructions. Information descriptive of a difference between the first version of the unit of software instructions and the second version of the unit of software instructions is generated.