Automated Program Error Repair Using Deep Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing compiler technologies are unable to automatically detect and correct logical errors in program code, as they primarily rely on rule-based systems that struggle with complex errors such as omissions in variable declarations and typos, and are ineffective in finding and fixing logical errors.
Innovation Solution
A computing system and method that utilizes a deep learning algorithm based on an artificial neural network for automated program error repair, which preprocesses program code by tokenizing, vectorizing, and adding location information, enabling the detection and correction of errors without user intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If rule-based compiler checking methods are used, then lexical, syntactic, and semantic errors can be detected, but logical errors cannot be detected or corrected
Solution Approach 1:
The patent replaces traditional rule-based mechanical checking systems with a deep learning-based automated error repair system. The system uses neural networks to analyze program code, detect errors, and generate corrections automatically, moving beyond fixed rule-based approaches to adaptive intelligent systems that can handle logical errors and complex programming mistakes.
Solution Approach 2:
The system changes the operational parameters of error detection by using deep learning models trained on large datasets of programming errors. Instead of relying on predefined rules, the system learns patterns of errors and corrections from training data, allowing it to adapt to various types of errors including logical errors that rule-based systems cannot detect.
2Measurement precision
If traditional compiler error checking is used, then basic syntax errors can be found, but automated correction of errors is not possible
Solution Approach 1:
The patent implements a self-service error repair system where the automated error repair model not only detects errors but also generates and applies corrections autonomously. The system takes program code as input, identifies errors with precise location information, generates corrected code, and outputs the repaired program without requiring manual intervention, enabling full automation of the error correction process.
3Adaptability or versatility
If deep learning algorithms are implemented for error detection, then logical errors can be detected, but system complexity increases
Solution Approach 1:
The patent segments the error repair system into distinct functional components: a preprocessing system that tokenizes and vectorizes input code, an automated error repair model that performs detection and correction, and an output system that generates corrected code. This modular architecture manages system complexity by dividing the deep learning system into manageable, specialized modules with clear interfaces.
Solution Approach 2:
The system introduces intermediary components including tokenizers that convert code into discrete tokens, vector converters that transform tokens into numerical representations, and location information encoders that track error positions. These intermediaries bridge the gap between raw program code and the deep learning model, simplifying the overall system complexity by handling data transformation tasks separately.
Data Source
AI summary
This application relates to a computing system and method for an automated program error repair. In one aspect, the computing system includes a storage, a preprocessing processor, and an automated error repair processor. The storage stores a program code. The preprocessing processor acquires the program code from the storage and preprocesses the program code. Preprocessing includes tokenizing the program code with tokens, converting the tokens into vectors, and adding location information for the tokens. The automated error repair processor receives the preprocessed program code as an input from the preprocessing processor, detects an error in the preprocessed program code, corrects the detected error, and outputs the error-corrected program code. Detecting and correcting the error are performed based on a deep learning result and the location information for the tokens.

