Source Code Prediction from Issue Context and Project History
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software engineering tools fail to automate the writing of source code that is suitably connected to requirements or specifications, and do not assist developers in predicting and generating accurate source code changes based on issue reports and project history.
Innovation Solution
A system that integrates with software issue trackers and uses a machine-learning model to predict and generate source code changes by learning from project history, issue reports, and specifications, providing suggestions through a streamlined toolchain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If software tools are used to aid with software engineering tasks, then ease of operation is improved, but extent of automation remains limited
Solution Approach 1:
The system enables self-service by allowing the software development system to automatically generate source code changes from issue reports without requiring manual intervention. The machine learning model autonomously analyzes requirements and produces code, making the system serve itself rather than relying on developer input for code generation.
Solution Approach 2:
The patent replaces manual mechanical coding processes with an automated machine learning-based system. Instead of developers manually writing code based on requirements, the system uses AI models to automatically translate issue reports into source code changes, substituting human mechanical effort with automated intelligent processing.
2Adaptability or versatility
If manual effort is used for translating requirements to source code, then adaptability is maintained, but productivity decreases
Solution Approach 1:
The system changes the parameter of code generation from manual text editing to automated machine learning prediction. By transforming the input parameters (issue reports, requirements) through ML models, the system achieves both high productivity through automation and adaptability through the model's ability to handle diverse requirement formats and generate appropriate code structures.
Solution Approach 2:
The machine learning model serves as an intermediary between requirements and source code generation. It translates natural language issue reports into structured code changes, maintaining adaptability by understanding various requirement formats while improving productivity by automating the translation process without requiring manual intervention.
3Ease of operation
If code editors provide assistance for source code tasks, then ease of operation is improved, but extent of automation remains limited
Solution Approach 1:
The system enables self-service by allowing the software development system to automatically generate source code changes from issue reports without requiring manual intervention. The machine learning model autonomously analyzes requirements and produces code, making the system serve itself rather than relying on developer input for code generation.
Solution Approach 2:
The patent replaces manual mechanical coding processes with an automated machine learning-based system. Instead of developers manually writing code based on requirements, the system uses AI models to automatically translate issue reports into source code changes, substituting human mechanical effort with automated intelligent processing.
4Manufacturing precision
If software construction tools edit code for consistency, then manufacturing precision is improved, but extent of automation remains limited
Solution Approach 1:
The system enables self-service by allowing the software development system to automatically generate source code changes from issue reports without requiring manual intervention. The machine learning model autonomously analyzes requirements and produces code, making the system serve itself rather than relying on developer input for code generation.
Solution Approach 2:
The patent replaces manual mechanical coding processes with an automated machine learning-based system. Instead of developers manually writing code based on requirements, the system uses AI models to automatically translate issue reports into source code changes, substituting human mechanical effort with automated intelligent processing.
Data Source
AI summary
A system stores a source code file's changes from a software developer's code editor, for a software engineering task. Upon receiving the code editor's request to predict source code for the source code file, the system retrieves the software engineering task's context data, and transforms the context data to be compatible with the data format used to train a machine-learning model to assist with performing software engineering tasks. The machine-learning model uses the transformed context data to predict the source code for the source code file, with source code file portions corresponding to predicted source code portions. The system identifies each portion of the source code file which is differing from a corresponding portion of the predicted source code, via the code editor. The system commits any differing portions of the predicted source code, which are requested and accepted by the code editor, to the source code file.


