Software Change Template Generation for Code Artifact Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fast-paced software application updates often include encapsulated code updates with multiple changes, leading to undetected software bugs, and may fail to update relevant code artifacts, resulting in further bugs.

Innovation Solution

An approach that analyzes historical code artifact changes to generate change templates, which are then used to guide developers in making targeted updates, utilizing unsupervised Machine Learning to identify clusters of artifacts that change in tandem and refine these changes into high-level maintenance operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If fast-paced software application updates are implemented, then productivity is improved, but reliability deteriorates due to undetected software bugs and missed code artifact updates

Engineering Contradiction:
Improvesoftware update speedVSAvoidsoftware bug detection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of historical code artifact changes to generate change templates before actual updates occur. These templates pre-identify which code artifacts should be updated together, so when a fast-paced update is needed, the system can apply the pre-analyzed templates to ensure all necessary artifacts are updated, preventing bugs caused by missed updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system analyzes historical update data and feedback about which code artifacts changed in tandem, using this feedback to generate and refine change templates. This feedback loop enables the system to learn from past updates and improve its ability to identify all necessary code artifact updates, thereby maintaining reliability even as update speed increases.

Inventive Principle:
Principle #23Feedback

2Productivity

If multiple code changes are encapsulated in fast updates, then productivity is improved, but manufacturing precision deteriorates due to undetected bugs and missed updates

Engineering Contradiction:
Improveupdate frequencyVSAvoidcode artifact update accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system segments the complex task of updating multiple code artifacts by generating change templates that identify specific groups of artifacts that should be updated together. Instead of treating all code changes as a single encapsulated unit, the system breaks down the update process into template-defined segments, ensuring each segment is complete and accurate, thereby improving manufacturing precision while maintaining high update frequency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis to generate change templates that precisely define which code artifacts should be updated together. This pre-segmentation and pre-planning enables accurate, targeted updates rather than broad encapsulated changes, improving the precision of code artifact updates while maintaining fast update cycles.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If manual code update processes are used, then adaptability is maintained, but loss of time increases due to time-consuming manual processes

Engineering Contradiction:
Improvebusiness rule flexibilityVSAvoidupdate duration
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system enables self-service by automatically generating change templates from historical data and applying them to update code artifacts. Business users can update business rules through the visual IDE, and the system automatically identifies and updates all related code artifacts using the generated templates, eliminating the need for manual, time-consuming processes while maintaining the adaptability to implement business rule changes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system replaces manual mechanical processes with automated computer-based processes. Instead of manually tracking and updating each code artifact, the system uses automated analysis of historical changes and template-based generation to identify and update all necessary artifacts, dramatically reducing update duration while preserving business rule flexibility through the visual IDE interface.

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

Data Source

PatentUS11061662B1Maintenance of fast-changing software applications
Publication Date: 2021.07.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11061662B1 patent drawing
  • US11061662B1 patent drawing
  • US11061662B1 patent drawing

AI summary

An approach is provided in which the approach analyzes a set of code artifact changes from historical updates of a software application. The approach determines that a first code artifact and a second code artifact change in tandem and generates a change template based on the set of code artifact changes. The approach uses the change template to update the software application in response to receiving a request to apply the change template to the software application.