Code Customization Detection via Version Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Locating software defects in customized software applications is challenging due to the complexity of identifying user-modified source code within large and heavily customized codebases.

Innovation Solution

A troubleshooting tool is introduced that can pinpoint user customizations in a software application's source code by using data to identify relevant portions, including performing textual differences between user-modified and standardized release versions of application files.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users modify and customize software applications to add new features and functions, then the software's adaptability and functionality are improved, but the complexity of locating and troubleshooting defects increases

Engineering Contradiction:
Improvesoftware customization capabilityVSAvoidtroubleshooting complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the source code base by automatically identifying and separating user-modified portions from the original standardized code. This is achieved through version control integration and code comparison techniques that divide the monolithic codebase into distinct segments: original code and user customizations. This segmentation allows troubleshooters to focus on specific segments rather than searching through the entire codebase, thereby reducing troubleshooting complexity while preserving full customization capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary tool that acts as a mediator between the standardized software release and user customizations. This intermediary system automatically tracks, versions, and compares code changes, providing a structured interface that manages the complexity of customized codebases. The intermediary maintains metadata about modifications and enables systematic analysis without requiring manual code review, thus resolving the contradiction between customization and troubleshooting complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If troubleshooters manually examine user-modified portions of source code to locate defects, then the precision of defect identification is improved, but the time required for troubleshooting increases

Engineering Contradiction:
Improvedefect location accuracyVSAvoidtroubleshooting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by automatically preparing and organizing user-modified code portions before the actual troubleshooting process begins. The system pre-identifies, pre-separates, and pre-tags modified code segments using version control data and comparison algorithms. This preliminary organization eliminates the need for manual code searching during troubleshooting, maintaining high defect location accuracy while dramatically reducing the time required. The preparatory automation ensures that when troubleshooting is needed, the relevant code is already isolated and ready for analysis.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the source code base is large and contains many custom changes, then the software's functionality is enhanced, but the difficulty of detecting and measuring user modifications increases

Engineering Contradiction:
Improvesoftware functionalityVSAvoidmodification detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent replaces manual mechanical code review with automated computational analysis. The system uses computer-based tools to detect, measure, and analyze user modifications through version control integration, automated code comparison, and pattern recognition algorithms. This substitution of manual inspection with automated systems enables the handling of large codebases with numerous custom changes, maintaining enhanced software functionality while reducing the difficulty of detecting and measuring modifications. The automated system can process and analyze code changes at scales impossible for manual review.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12309028B2Automatic determination of code customizations
Publication Date: 2025.05.20 SERVICENOW INC
  • US12309028B2 patent drawing
  • US12309028B2 patent drawing
  • US12309028B2 patent drawing

AI summary

A system could include a first set of mappings between application files and version indicators. The application files could be related to a software application. The system could also include a second set of mappings between application files and a first subset of version indicators, where a standardized release of the software application includes application file versions in accordance with the first subset. The system could further include a third set of mappings between a second subset of version indicators and records indicating that the corresponding application file versions were written after the standardized release. The system could further include processors configured to perform operations including: determining that an application file in the third set of mappings has standardized release version. The operations could further include providing a difference between a recent version of the application file and the application file version that was part of the standardized release.