Software Upgrade Impact Analysis System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software upgrades can be time-consuming and disruptive, especially for complex enterprise applications, as they often require significant testing and may cause modifications to fail or function improperly, making it difficult to predict the impact of an upgrade on a production system.

Innovation Solution

A system and method that analyzes the impact of upgrading a software program from one version to another without performing the upgrade, by comparing default state information from a repository database with current state information from an application database, identifying which program objects would be affected by the upgrade, thereby allowing for planning and minimization of disruptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a software upgrade is performed on a production system, then the system can access new features and improvements, but the upgrade process is time-consuming and may cause disruptions to users

Engineering Contradiction:
Improvesoftware versionVSAvoidupgrade time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of upgrade impacts by comparing default state information from the repository database with current state information from the application database before actually performing the upgrade. This allows identification of affected program objects in advance, enabling planning and minimization of disruptions without requiring a full test system upgrade.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a software upgrade is performed on a test system, then the impact can be analyzed without disrupting production users, but the upgrade process itself is complex and time-consuming

Engineering Contradiction:
Improveimpact analysis accuracyVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system extracts only the necessary state information from both the repository database and application database to perform impact analysis. Instead of performing a full software upgrade on a test system, the analysis tool extracts default state information and current state information, compares them, and identifies affected program objects without requiring the actual upgraded software to be installed or executed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses copies of state information from the databases rather than the actual software program itself. By comparing copies of default state information with copies of current state information, the system can perform impact analysis without needing to install or run the actual upgraded software, thereby avoiding the time and complexity of a full upgrade process.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If software programs are modified or customized prior to upgrade, then the software can be adapted to specific needs, but the upgrade may cause one or more modifications to fail or work improperly

Engineering Contradiction:
Improvesoftware customizationVSAvoidmodification compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system provides feedback about potential upgrade impacts by comparing the current customized state of program objects in the application database with the default state information in the repository database. This feedback identifies which customized program objects would be affected by the upgrade, allowing users to assess compatibility risks before proceeding with the upgrade.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9400648B2Software upgrade analysis system
Publication Date: 2016.07.26 ACCENTURE GLOBAL SERVICES LTD
  • US9400648B2 patent drawing
  • US9400648B2 patent drawing
  • US9400648B2 patent drawing

AI summary

A system may include computer code for analyzing an upgrade from a first version to a second version of a software program that has been customized without performing the upgrade. The system may provide default state information of default program objects. The default program objects would be included in a default installation of the second version of the software program. The computer code may retrieve current state information of current program objects from an application database. The software program that has been customized may include the current program objects. The system may generate upgrade information based on a comparison between the current state information and the default state information. The upgrade information may identify a subset of the current program objects that would be impacted by the upgrade.