Code Change Review Assignment Engine Using Blockchain

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large enterprises with complex computing applications, code changes often lead to conflicts due to multiple development teams working simultaneously, necessitating a robust mechanism for intelligent code review assignments that consider complexity, module importance, and dependencies, while ensuring security and accuracy.

Innovation Solution

The implementation of a distributed trust computing network (blockchain) and a code change smart contract using smart contract rules to determine and allocate code review assignments, with code changes undergoing complexity determination based on module importance, metadata impact, and external dependencies, and secured access through cryptography.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple development teams simultaneously work on code changes to increase productivity, then code review assignment accuracy deteriorates due to increased conflict probability and complexity

Engineering Contradiction:
Improvecode development speedVSAvoidcode review assignment accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system dynamically changes parameters including complexity metrics, reviewer capability levels, and assignment weights based on real-time code change analysis. This allows the review assignment mechanism to adapt to varying degrees of conflict and complexity arising from simultaneous development work.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The review assignment system transitions from static to dynamic operation, continuously analyzing code changes, calculating complexity scores, and reassigning reviewers based on current conditions. This dynamic approach ensures accurate assignments even as multiple teams work simultaneously on overlapping code sections.

Inventive Principle:
Principle #15Dynamics

2Reliability

If code review assignment considers multiple factors (complexity, module importance, dependencies) to improve assignment accuracy, then system complexity increases

Engineering Contradiction:
Improvecode review assignment accuracyVSAvoidassignment system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the codebase into modules with defined dependencies and assigns reviewers based on specific module expertise. This segmentation allows the complex multi-factor assignment problem to be broken down into manageable module-level decisions, reducing overall system complexity while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediate computational layers including complexity calculation engines, dependency analysis modules, and reviewer matching algorithms. These intermediaries process raw input data and transform it into structured assignment decisions, managing system complexity through modular processing stages.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If cryptography and blockchain are implemented to secure code review assignments, then security improves but processing time increases

Engineering Contradiction:
Improveassignment securityVSAvoidassignment processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Cryptography operations including key generation, digital signing, and hash computation are performed in advance during code check-in and assignment creation. This preliminary cryptographic processing prevents time-consuming security operations from occurring during the critical code review workflow, reducing perceived processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates cryptographic copies and hashes of code changes and assignment data that can be quickly verified without reprocessing the entire cryptographic chain. These cryptographic fingerprints enable fast validation of assignment integrity and reviewer authorization, minimizing time loss while maintaining security.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11567856B2Secured code assignment and review engine
Publication Date: 2023.01.31 BANK OF AMERICA CORP
  • US11567856B2 patent drawing
  • US11567856B2 patent drawing
  • US11567856B2 patent drawing

AI summary

An intelligent determination of code change review assignments and subsequent secured access to the determined assignments. Code changes undergo code change complexity determination which is based on (i) a level of importance of the module(s) in which the changes occur, (ii) the volume of metadata files impacted by the code changes, and (iii) the dependency of the code changes on external modules. A distributed trust computing network is implemented and a code change smart contract which relies on smart contract rules is used to determine and allocate code change review assignments. In this regard, data blocks within a distributed ledger define individual segments/portions of the code change file with each data block identifying a code change review assignment.