Automated Program Error Repair Using Deep Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveerror detection capabilityVSAvoidability to handle complex logical errors
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

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

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.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If traditional compiler error checking is used, then basic syntax errors can be found, but automated correction of errors is not possible

Engineering Contradiction:
Improveerror location accuracyVSAvoidautomated error correction capability
Core Design Contradiction:
Measurement precisionVSExtent of automation

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.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If deep learning algorithms are implemented for error detection, then logical errors can be detected, but system complexity increases

Engineering Contradiction:
Improveability to detect logical errorsVSAvoidcomplexity of deep learning system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11579962B2Computing system and method for automated program error repair
Publication Date: 2023.02.14 KOREA ELECTRONICS TECH INST
  • US11579962B2 patent drawing
  • US11579962B2 patent drawing

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.