Machine Learning Code Modification via Semantic Vector Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The software development life cycle, particularly the design and build phase, lacks automation, leading to time-consuming manual interventions for modifying software code, resulting in delays and resource wastage due to the difficulty in locating and correctly modifying lines of code.

Innovation Solution

A developer system utilizing machine learning models to identify entities and intents in software code, generate queries, and modify code automatically by encoding text into high-dimensional vectors and using semantic similarity to locate and modify specific code portions, thereby reducing manual effort and resource wastage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual intervention is used to modify software code, then developers can directly understand and modify code logic, but the process becomes time-consuming and resource-intensive

Engineering Contradiction:
Improvecode modification accuracyVSAvoidcode modification time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service by allowing code modification through natural language queries without requiring manual code analysis. The code locator model automatically identifies relevant code portions and the code developer model generates modifications based on the query intent, eliminating the need for developers to manually search and edit code.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual code searching and editing with an AI-based system. The code locator model uses semantic similarity matching to automatically locate code, and the code developer model uses natural language processing to generate modifications, substituting human manual operations with automated intelligent systems.

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

2Reliability

If developers manually locate and modify code lines, then they can ensure correct modification, but the process becomes complex and resource-wasteful

Engineering Contradiction:
Improvecode modification reliabilityVSAvoidmodification process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces intermediary AI models between the developer's natural language query and the actual code modification. The code locator model acts as an intermediary to find relevant code, and the code developer model serves as another intermediary to generate the modification, simplifying the overall process while maintaining reliability through structured intermediate steps.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated code modification is implemented, then time and resources are conserved, but the system requires complex machine learning models

Engineering Contradiction:
Improvecode modification productivityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the code modification task into two distinct components handled by separate models: the code locator model for identifying relevant code portions and the code developer model for generating modifications. This segmentation allows each model to specialize in one function, improving overall productivity while managing system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11455161B2Utilizing machine learning models for automated software code modification
Publication Date: 2022.09.27 ACCENTURE GLOBAL SOLUTIONS LTD
  • US11455161B2 patent drawing
  • US11455161B2 patent drawing
  • US11455161B2 patent drawing

AI summary

A device may receive requirement data identifying a requirement for modification of software code, and may process the requirement data, with a machine learning model, to identify entities and intents in the software code and to generate a query. The device may process the query, with a code locator model, to encode text of the query into high-dimensional vectors and to identify a semantic similarity between the high-dimensional vectors and code text. The device may process the query, the semantic similarity, and the code text, with a code developer model, to generate metadata, and may utilize the metadata to identify an identifier associated with the software code. The device may determine, utilizing the identifier, a portion of the software code, and may modify the portion of the software code based on the query to generate modified software code. The device may perform actions based on the modified software code.