Code Repository Commit Impact Analysis and Selective Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, managing the impact of pre-commit code on existing code bases is challenging due to dependencies, and traditional testing methods are computationally expensive and time-consuming, often leading to inefficient resource allocation and potential introduction of undesirable functionality.

Innovation Solution

A system with a software development manager that generates commit impact information, displays a pre-commit analysis GUI, obtains reviewer feedback, performs limited testing based on dependency data, and commits code only when testing results match predetermined behavior, thereby reducing computational and time costs while ensuring functionality integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used to test the entire code base, then functionality integrity is ensured, but computational cost and time consumption increase significantly

Engineering Contradiction:
Improvefunctionality integrityVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the code base into modules and further into methods, creating a hierarchical structure. Instead of testing the entire code base, the system identifies and tests only the specific methods impacted by pre-commit code changes. This segmentation allows focused testing on relevant portions while maintaining functionality integrity through systematic coverage of impacted areas.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making different parts of the code base undergo different testing treatments. Highly cohesive methods with strong internal relationships receive more rigorous testing, while loosely coupled methods receive lighter testing. This differentiated approach ensures that critical areas are thoroughly tested while reducing overall computational cost and time consumption.

Inventive Principle:
Principle #3Local quality

2Reliability

If traditional testing methods are used to test the entire code base, then functionality integrity is ensured, but resource allocation becomes inefficient

Engineering Contradiction:
Improvefunctionality integrityVSAvoidresource allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the code base into modules and methods, enabling selective testing of only impacted portions. This segmentation improves resource allocation efficiency by directing computational resources to specific methods that require testing, rather than uniformly testing the entire code base, thus maintaining productivity while ensuring reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the testing parameter from comprehensive code base testing to selective method-level testing. By adjusting the scope and depth of testing based on code metrics such as cohesion and impact analysis, the system optimizes resource allocation to match the actual testing needs, improving productivity without compromising functionality integrity.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If comprehensive testing is performed on the code base, then undesirable functionality is detected, but the testing process becomes time-consuming and computationally expensive

Engineering Contradiction:
Improvedetection of undesirable functionalityVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system segments the testing process to focus only on impacted methods within the code base. By identifying which specific methods are affected by pre-commit code changes and testing only those segments, the system detects undesirable functionality in relevant areas while significantly reducing computational cost compared to comprehensive code base testing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing testing only on the necessary portion of the code base - specifically, methods impacted by pre-commit changes. This partial testing approach is sufficient to detect undesirable functionality in affected areas while avoiding the excessive computational cost of testing the entire code base.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10942840B2System and method for managing a code repository
Publication Date: 2021.03.09 EMC IP HLDG CO LLC
  • US10942840B2 patent drawing
  • US10942840B2 patent drawing
  • US10942840B2 patent drawing

AI summary

A data processing device includes persistent storage and a software development manager. The persistent storage stores a code repository. The software development manager generates commit impact information based on: pre-commit code for a code base stored in the code repository, and dependency data based on committed code of the code base; displays a pre-commit analysis graphic user interface (GUI) reflecting the commit impact information and testing information for the pre-commit code; obtains, using the displayed pre-commit analysis GUI, reviewer feedback regarding approval of the pre-commit code; makes a determination, based on the reviewer feedback, that the pre-commit code has been approved; in response to the determination: performs limited testing of the code base based upon the dependency data to obtain testing results; and commits the pre-commit code to the committed code when the testing results match a predetermined behavior.