Deep Learning Code Reviewer Recommendation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Identifying suitable code reviewers for change-based code reviews is challenging due to the lack of reliable information on reviewer expertise and the difficulty in determining the best candidates with the requisite experience.

Innovation Solution

An automated deep learning model is trained on historical pull requests to identify patterns between code segments and reviewers, generating probabilities for the most suitable peers to participate in code reviews based on syntactic and peer-based features.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual selection of code reviewers is performed, then reviewer expertise and experience can be evaluated, but the process becomes time-consuming and difficult

Engineering Contradiction:
Improvereviewer expertiseVSAvoidreviewer selection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically performs reviewer selection by analyzing historical pull request data, code changes, and peer relationships to generate recommendations without requiring manual intervention. The automated model trains on past review patterns and independently identifies suitable reviewers based on expertise and experience indicators.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The manual process of evaluating reviewer expertise and experience is replaced with an automated machine learning model that processes code features, peer relationships, and historical data to generate reviewer recommendations, substituting human judgment with algorithmic analysis.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of time

If automated reviewer recommendation is implemented, then selection time is reduced, but reliability of reviewer expertise matching may be compromised

Engineering Contradiction:
Improvereviewer selection timeVSAvoidreviewer expertise matching
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary analysis by training on historical pull request data and establishing peer relationships in advance. When a new pull request requires review, the pre-trained model can quickly generate recommendations without real-time computation, reducing selection time while maintaining reliability through预先 learned patterns.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The model incorporates feedback from historical review outcomes and code change patterns to continuously improve reviewer recommendations. By learning from past successful matches between reviewers and code changes, the system refines its ability to identify suitable reviewers while maintaining speed.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If comprehensive analysis of historical data is performed, then reviewer recommendation accuracy improves, but system complexity increases

Engineering Contradiction:
Improvereviewer recommendation accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system extracts only the most relevant features from historical pull request data, such as code change characteristics, peer relationship metrics, and reviewer performance indicators. By selecting and analyzing only essential features rather than processing all available data, the system achieves accurate recommendations while managing computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP3959601B1Automatic identification of appropriate code reviewers using machine learning
Publication Date: 2025.06.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3959601B1 patent drawingFigure 1
  • EP3959601B1 patent drawingFigure 2
  • EP3959601B1 patent drawingFigure 3

AI summary

A deep learning model is trained on historical pull requests to automatically identify appropriate reviewers to review source code from one or more source code repositories. The model is trained on features that are based on past pull requests from the source code repositories and that represent the context of the syntactic representation of the changed code. The model learns patterns found in the changed source code and of the past peers associated with the changed source code to relate certain source code fragments with certain peers. The model generates probabilities based on the learned patterns which are used to identify appropriate reviewers more suitable to review the source code.