Code Annotation Tracker for Source Code Change Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional version control systems struggle to effectively track changes related to user-specific features or workarounds in source code, as these changes often span multiple lines of code and files, and are typically untracked or loosely documented, lacking automated tracking mechanisms independent of software developer licenses.

Innovation Solution

An automated annotation tracker is implemented to monitor and record changes to user-customized features in source code, enabling users to annotate changes and perform specified actions upon detecting subsequent changes affecting those features, using a system that includes clients, servers, and version control systems to store metadata and notify users of relevant changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional version control systems are used to track changes, then general source code changes can be recorded, but user-specific feature changes spanning multiple lines and files cannot be effectively tracked

Engineering Contradiction:
Improvetracking precisionVSAvoidfeature-specific tracking capability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent segments source code by inserting unique annotations (e.g., <!--BEGIN WORKAROUND--> and <!--END WORKAROUND-->) to delimit user-specific feature changes. This segmentation allows the system to precisely identify and track only the relevant code portions associated with user customizations, rather than treating all code changes uniformly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary annotation tracker component that sits between the version control system and the source code. This intermediary automatically detects annotated regions, extracts metadata (location, description, author, date), and maintains a separate tracking record for user-specific features, thereby bridging the gap between general version control and specialized feature tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If manual documentation of workarounds is used, then some tracking capability is provided, but automated tracking and notification of changes is not achieved

Engineering Contradiction:
Improveautomated trackingVSAvoidchange notification
Core Design Contradiction:
Extent of automationVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the annotation tracker continuously monitors the source code repository for changes to annotated regions. When modifications are detected, the system automatically generates notifications to relevant users and updates the metadata database, ensuring that information about feature changes is preserved and communicated without manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables self-service tracking by automatically detecting annotated code regions and maintaining tracking records without requiring users to manually document changes. The annotation tracker autonomously extracts metadata, monitors for modifications, and manages notifications, reducing the burden on developers while ensuring comprehensive tracking.

Inventive Principle:
Principle #25Self-service

3Reliability

If dependencies between multiple source code files are tracked, then comprehensive change tracking is achieved, but monitoring complexity increases significantly

Engineering Contradiction:
Improvechange tracking reliabilityVSAvoidmonitoring system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by inserting structured annotations into the source code before changes occur. These pre-placed markers define the boundaries of user-specific features, allowing the annotation tracker to automatically identify and monitor only the relevant code regions and their dependencies, rather than analyzing entire codebases.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex mechanical analysis of code dependencies with a simpler information-based system. Instead of analyzing code logic and control flow to determine dependencies, the system uses metadata extracted from annotations (location, file names, descriptions) to track relationships, significantly reducing monitoring complexity while maintaining reliability.

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

Data Source

PatentUS11237824B2Tracking related changes with code annotations
Publication Date: 2022.02.01 RED HAT INC
  • US11237824B2 patent drawing
  • US11237824B2 patent drawing
  • US11237824B2 patent drawing

AI summary

Methods, systems, and computer program products are included for automatically tracking source code changes for a user-customized feature of a software project. Metadata identifying the annotated source code for the user-customized feature is stored in an annotation database. The metadata include a location of the annotated source code within the one or more files of a code repository for the software project and a description of the changes that were made to the annotated source code. The metadata is used to determine whether any subsequent changes made by a second user to the one or more files affect the source code annotated by the first user for the user-customized feature of the software project. One or more automated tasks are performed for the user-customized feature when the subsequent changes are determined to affect the annotated source code.