Automatic Code Review System for Standard Violation Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing code review techniques are inefficient as they treat coding standard violations and logic errors equally, leading to time-consuming and wasteful reviews, and lack a systematic way to assign appropriate code reviewers familiar with the software module.

Innovation Solution

An automatic code review system that analyzes source code for coding standard violations using static analysis tools, recommending appropriate human code reviewers based on their prior review assignments and expertise, allowing them to focus on logic errors and improving productivity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code reviewers manually examine all types of source code mistakes including coding standard violations and logic errors, then comprehensive code quality review is achieved, but review time and resource consumption increase significantly

Engineering Contradiction:
Improvecode quality review comprehensivenessVSAvoidreview time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments code review into two distinct categories: coding standard violations detected by automated tools and logic mistakes detected by human reviewers. This segmentation allows each type of error to be handled by the most appropriate method, eliminating redundant manual review of automatically detectable issues while maintaining comprehensive coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary automated code analysis tool that handles the detection of coding standard violations before human reviewers examine the code. This intermediary layer filters out routine errors, allowing human reviewers to focus their expertise on more complex logic mistakes that require human judgment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If code reviewers are assigned without systematic selection, then review process simplicity is maintained, but review accuracy decreases due to reviewers being unfamiliar with the code module

Engineering Contradiction:
Improvereviewer assignment simplicityVSAvoidreview accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where the system learns from past review assignments and code characteristics to systematically recommend appropriate reviewers for new code modules. This feedback loop maintains reviewer expertise alignment while automating the assignment process, balancing simplicity with accuracy.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by automatically analyzing code characteristics and matching them with suitable reviewers based on historical data, eliminating the need for manual reviewer selection while maintaining high assignment accuracy through systematic matching algorithms.

Inventive Principle:
Principle #25Self-service

3Productivity

If automated tools are used to detect coding standard violations, then detection efficiency is improved, but logic mistakes may be overlooked requiring human reviewer involvement

Engineering Contradiction:
Improvedetection efficiencyVSAvoidlogic error detection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments error detection responsibilities between automated tools (for coding standards) and human reviewers (for logic errors). This clear division leverages the speed and consistency of automation while preserving human judgment capabilities for complex logical reasoning that automated tools cannot reliably perform.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent positions automated tools as an intermediary that handles routine coding standard checks, freeing human reviewers to concentrate on logic error detection. This intermediary approach maximizes the strengths of both automated and human detection methods without either being overwhelmed by all error types.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9898280B2Automatic code review and code reviewer recommendation
Publication Date: 2018.02.20 VMWARE INC
  • US9898280B2 patent drawing
  • US9898280B2 patent drawing
  • US9898280B2 patent drawing

AI summary

Systems and methods for managing review of source code are described. The method may comprise receiving a version of source code that includes a specific change at a specific location in the version of source code that has been affected by one or more programming actions compared to a prior version of source code; and identifying a plurality of prior review requests associated with the specific change. The method may comprise assigning corresponding review points to the plurality of prior review requests; and based on the corresponding review points, selecting a code reviewer from a plurality of code reviewers who each have created or processed a subset of the plurality of prior review requests. The method may further comprise generating a review request for the specific change in the version of source code for processing by the selected code reviewer.