Intent-Based Code Block Categorization for Machine Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing automatic code generation methods typically match the syntax of partially typed code but fail to account for the intent of the programmer nor do they incorporate collateral nor correlate intent with source code function.
Innovation Solution
A system that leverages code repositories to identify source code blocks that satisfy the intent of the programmer by analyzing syntax, function, and collateral, using machine learning to categorize and generate code autonomously.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If automatic code generation matches syntax of partially typed code, then code generation automation is achieved, but programmer intent is not captured and code quality is limited
Solution Approach 1:
The system uses machine learning models trained on code repositories to analyze programmer intent from partial code input, then generates complete code blocks that satisfy both syntax requirements and semantic intent. The feedback loop involves the ML model learning from training data to improve intent recognition accuracy over time.
Solution Approach 2:
The patent introduces an intermediary machine learning system that acts as a mediator between the programmer's partial code input and the code repository. This intermediary analyzes the input, determines programmer intent, and selectively retrieves appropriate code blocks from the repository, thereby improving code generation quality beyond simple syntax matching.
2Measurement precision
If machine learning models are trained on code repositories to identify source code blocks, then programmer intent is captured, but system complexity increases
Solution Approach 1:
The system performs preliminary action by pre-training machine learning models on extensive code repository data before actual code generation. This training phase prepares the model to recognize programmer intent patterns, so that during actual use, the intent recognition can be performed efficiently without requiring complex real-time processing.
3Productivity
If code blocks are selected from repositories to satisfy programmer intent, then coding efficiency is improved, but time for intent analysis and code selection increases
Solution Approach 1:
The system applies partial action by analyzing only the essential features of programmer intent from partial code input rather than requiring complete code specification. This allows the system to quickly identify intent and retrieve appropriate code blocks from the repository without excessive analysis time, balancing accuracy with efficiency.
Data Source
AI summary
Apparatus, devices, systems, methods, and articles of manufacture for intent-based machine programming are disclosed. An example system categorize source code blocks includes a code repository accessor to access a code repository and select a source code block. The example system also includes a signature generator to generate a signature for the source code block, a collateral miner to extract collateral associated with the source code block, and a tokenizer to transform the source code block into tokens. In addition, the example system includes a function assessor to determine a function of the source code block based on the collateral and the tokens and an input/output determiner to determine an input and an output of the source code block based on the collateral and the signature. The example system further includes a tagger to categorize the source code block with the function, input, and output.


