Machine Learning Code Analysis Service for Intelligent Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in continuously improving source code due to the lack of immediate, unbiased, and intelligent feedback, often relying on unavailable human collaborators and static analysis tools that fail to catch coding errors or suggest effective improvements.

Innovation Solution

A machine learning-based code analysis service that learns from a corpus of model code to identify accepted coding practices, compares them with current codebases, and provides insights and suggestions through a user interface, dynamically updating its model based on developer feedback to offer tailored and actionable improvements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If static analysis tools are used to check code, then basic syntax errors can be detected, but the tools fail to catch coding errors or suggest effective improvements

Engineering Contradiction:
Improvedetection accuracyVSAvoidcoding practice recognition
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent transforms the analysis approach by changing from static rule-based parameters to dynamic machine learning parameters. The system uses machine learning models trained on corpora of code to adaptively detect coding errors and suggest improvements, enabling both high detection accuracy and adaptability to various coding practices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces mechanical static analysis tools with intelligent machine learning-based analysis services. This substitution enables the system to understand contextual coding practices, detect subtle errors, and provide actionable suggestions that go beyond basic syntax checking.

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

2Ease of operation

If human collaborators are consulted for code review, then valuable feedback can be obtained, but the collaborators are often unavailable

Engineering Contradiction:
Improvefeedback availabilityVSAvoidwaiting time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a self-service code analysis system where the machine learning-based service automatically provides feedback without requiring human collaborators. The system continuously monitors code changes and delivers immediate suggestions, eliminating waiting time while maintaining ease of operation through automated availability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces an automated code analysis service as an intermediary between developers and code quality improvement. This intermediary provides continuous, unbiased feedback on coding practices, effectively replacing the need for unavailable human collaborators while maintaining the feedback loop essential for code improvement.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If machine learning is applied to analyze codebases, then intelligent insights can be provided, but the analysis time and computational resources increase

Engineering Contradiction:
Improvecode improvement qualityVSAvoidanalysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies partial analysis by focusing machine learning resources on detecting the most critical coding errors and providing high-value suggestions rather than analyzing every aspect of the codebase. This selective approach maintains code improvement quality while reducing analysis time and computational overhead.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary training of machine learning models on large corpora of code beforehand, so that during actual code review, the pre-trained models can quickly analyze new code without requiring extensive computational resources in real-time. This preliminary action enables fast, intelligent feedback while reducing operational analysis time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10754645B2Displaying results of a codebase analysis service
Publication Date: 2020.08.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10754645B2 patent drawing
  • US10754645B2 patent drawing
  • US10754645B2 patent drawing

AI summary

Improved techniques for asynchronously displaying the results of a codebase analysis service are provided herein. Initially, machine learning is applied to a corpus of model code. In doing so, a machine learning model is generated, where the model identifies coding practices that are included in the corpus of model code. After this model is generated, then the model is applied to a current codebase by comparing coding practices of the current codebase to the identified coding practices that were extracted, or rather identified, from the corpus of model code. Then, in response to detecting one or more differences between the current codebase's coding practices and the identified coding practices, where the differences satisfy a pre-determined difference threshold, a user interface is caused to display one or more insights. These insights beneficially provide additional detailed information describing the differences.