Software Commit Risk Assessment for Testing Resource Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software development projects face constraints in testing resources such as time and availability of physical hardware and virtual hosts, making it challenging to effectively assess and allocate resources for new and updated software.

Innovation Solution

A method and system that assesses the risk of software programs and updates by analyzing code using risk assessment criteria, weighting risk factors, and determining a risk assessment score to prioritize and allocate testing resources accordingly, ensuring appropriate resource allocation based on the risk level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing is performed on all software updates, then software quality and reliability are improved, but testing resource consumption and time costs increase significantly

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system changes the parameter of testing depth and scope based on the risk score. High-risk commits receive comprehensive testing while low-risk commits receive minimal or no testing, dynamically adjusting testing parameters according to the assessed risk level of each commit

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Different testing strategies are applied to different commits based on their specific risk characteristics. Each commit receives a customized testing approach tailored to its risk profile, rather than applying uniform testing to all commits

Inventive Principle:
Principle #3Local quality

2Reliability

If comprehensive testing is performed on all software updates, then software quality is improved, but resource availability and efficiency deteriorate

Engineering Contradiction:
Improvesoftware qualityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically changes testing resource allocation parameters based on risk assessment results. Resources are scaled up for high-risk commits and scaled down for low-risk commits, optimizing the overall efficiency of the testing process while maintaining software quality

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of performing full comprehensive testing on all commits, the system applies partial testing action proportional to the risk level. Low-risk commits receive minimal testing action, while high-risk commits receive excessive or comprehensive testing action

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If risk assessment analysis is performed on software code, then resource allocation accuracy is improved, but system complexity increases

Engineering Contradiction:
Improverisk assessment accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs self-assessment by automatically analyzing its own code commits through risk factors. The commit analysis mechanism evaluates its own changes using predefined risk criteria, enabling autonomous risk-based resource allocation without requiring external complex assessment systems

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The risk assessment system uses a universal set of risk factors and criteria that can evaluate any type of software commit. This multi-functional approach allows the same system to assess diverse commits (new features, bug fixes, refactoring) using a unified risk evaluation framework

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9946633B2Assessing risk of software commits to prioritize verification resources
Publication Date: 2018.04.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9946633B2 patent drawing
  • US9946633B2 patent drawing
  • US9946633B2 patent drawing

AI summary

A computer-implemented method and system for assessing risk of a software program and software updates to a program to prioritize verification resources, which includes receiving code for a software product for a testing assessment. The code is analyzed according to a risk assessment criteria, and the risk assessment criteria includes risk assessment factors. The risk assessment factors for the code are weighted as part of the criteria. A risk assessment score of the code is determined based on the criteria. Testing resources are allocated in response to the risk assessment score.