Software Update Impact Estimation via Code Diff and Usage Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for assessing the impact of software updates are time-consuming, expensive, and often subjective, failing to guarantee risk-free updates due to the variability in user experiences and application-specific impacts.
Innovation Solution
A system and method that involves monitoring usage metrics for software applications, comparing base and updated code to identify lines of interest, and aggregating these metrics to determine an impact factor, which helps in evaluating the potential impact of software updates on end users.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extensive testing is performed on software updates before release, then reliability of the update is improved, but loss of time and productivity deteriorate
Solution Approach 1:
The system performs preliminary analysis of the software update by comparing the updated code against the base code to identify modified lines before extensive testing begins. Usage measures for these modified lines are collected in advance from production environments, allowing the impact assessment to be prepared beforehand, thus reducing the time needed for comprehensive testing while maintaining reliability.
Solution Approach 2:
The patent replaces the traditional mechanical approach of extensive manual testing with an automated information processing system. The impact analyzer automatically compares code versions, identifies modified lines, aggregates usage measures, and computes impact factors through automated data processing, substituting time-consuming manual testing procedures with efficient computational analysis.
2Reliability
If extensive testing is performed on software updates before release, then reliability of the update is improved, but productivity deteriorates
Solution Approach 1:
The system performs preliminary analysis of the software update by comparing the updated code against the base code to identify modified lines before extensive testing begins. Usage measures for these modified lines are collected in advance from production environments, allowing the impact assessment to be prepared beforehand, thus reducing the time needed for comprehensive testing while maintaining reliability.
Solution Approach 2:
The patent replaces the traditional mechanical approach of extensive manual testing with an automated information processing system. The impact analyzer automatically compares code versions, identifies modified lines, aggregates usage measures, and computes impact factors through automated data processing, substituting time-consuming manual testing procedures with efficient computational analysis.
3Ease of operation
If subjective analysis is used to determine perceived impact of updates, then ease of operation is improved, but measurement precision deteriorates
Solution Approach 1:
The patent replaces the traditional mechanical approach of extensive manual testing with an automated information processing system. The impact analyzer automatically compares code versions, identifies modified lines, aggregates usage measures, and computes impact factors through automated data processing, substituting time-consuming manual testing procedures with efficient computational analysis.
Solution Approach 2:
The system introduces an intermediary computational layer between the subjective perception of impact and the actual impact assessment. The impact analyzer serves as an intermediary that processes objective data (code comparisons, usage measures) to generate quantified impact factors, mediating between simple operational input and precise measurement output.
Data Source
AI summary
A system and method of estimating impact of software updates includes obtaining usage measures for an instance of a software application, analyzing the software update of the software application by comparing base code for the software application to updated code for the software application, identifying one or more lines of interest from the base code based on the comparing, and aggregating the usage measures for the instance associated with the lines of interest to determine an impact factor. The base code corresponds to source code for the instance. The updated code corresponds to source code for the software application after the software update is applied to the base code. In some examples, the system and method further include normalizing the impact factor based on a length of time used to collect the usage measures, a number of lines of code in the base code, and a number of lines of code in the updated code.


