IP Library › Granted Patent US 11,579,962
Granted Patent B2
US 11,579,962 · App. 17/349,548 · Granted Feb 14, 2023

Computing system and method for automated program error repair

Inventors: Minyoung Jung (Goyang-si, KR); Saim Shin (Seoul, KR); Jinyea Jang (Suwon-si, KR); Hyeontae Seo (Anyang-si, KR)
Assignee: KOREA ELECTRONICS TECHNOLOGY INSTITUTE
G06F11/0793G06F8/44G06F11/0706G06F11/079G06F11/0751G06F11/3624G06N3/04G06N3/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,579,962
App. No.
17/349,548
Granted
Feb 14, 2023
Kind
B2
Abstract

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.

Claims (37)

1. A computing system for an automated program error repair, the system comprising:

a storage storing a program code written in a specific programming language;

a preprocessing processor configured to acquire the program code from the storage and preprocess the program code by tokenizing the program code with tokens, converting the tokens into vectors, and adding location information for the tokens; and

an automated error repair processor configured to:

receive the tokenized program code as an input from the preprocessing processor,

perform a deep learning on the tokenized program code,

detect an error in a compilation or execution process of the program code,

determine a location of an error occurrence based on the location information provided by the preprocessing processor,

automatically correct the detected error in the program code, based on a result of the deep learning,

output an error-corrected program code, to the storage, in which all error codes are changed to restored codes, and

display the restored codes for errors on a display along with error locations.

2. The computing system of claim 1 , wherein the preprocessing processor includes:

a token processor configured to acquire the program code from the storage, to decompose the program code into lexemes as the tokens, and to add lexeme types as additional information for the tokens;

a vector converter configured to convert the tokens generated by the token processor into vectors in a form of numbers understandable to a computer; and

a location information encoder configured to identify a location of each lexeme in the program code and to add the identified locations as the location information for the tokens.

3. The computing system of claim 2 , wherein the lexeme types comprise a keyword, an identifier, or an operator.

4. The computing system of claim 2 , wherein the location information encoder is further configured to identify a location of each lexeme in the program code, and add identified locations as location information for the tokens.

5. The computing system of claim 1 , wherein the automated error repair processor is further configured to:

understand a sequence of codes;

detect errors in the sequence of the codes;

memorize the detected errors; and

memorize recovered codes for the detected errors through the deep learning.

6. A method for an automated program error repair implemented by a computing system, the method comprising:

acquiring a program code written in a specific programming language from a storage of the computing system;

preprocessing the program code, at a preprocessing processor of the computing system, wherein the preprocessing includes tokenizing the program code with tokens, converting the tokens into vectors, and adding location information for the tokens;

performing a deep learning on the tokenized program code;

detecting, at an automated error repair processor of the computing system, an error in a compilation or execution process of the program code;

determining, at the automated error repair processor, a location of an error occurrence based on the location information provided by the preprocessing processor;

automatically correcting, at the automated error repair processor, the detected error in the program code, based on a result of the deep learning;

outputting, at the automated error repair processor, the error-corrected program code, to the storage, in which all error codes are changed to restored codes; and

displaying the restored codes for errors on a display along with error locations.

7. The method of claim 6 , wherein the preprocessing includes:

decomposing the program code into lexemes as the tokens;

adding lexeme types as additional information for the tokens;

converting the tokens into vectors in a form of numbers understandable to a computer;

identifying a location of each lexeme in the program code; and

adding the identified locations as the location information for the tokens.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: JUNG, MINYOUNG; SHIN, SAIM; JANG, JINYEA; SEO, HYEONTAE
To: KOREA ELECTRONICS TECHNOLOGY INSTITUTE
Reel/Frame 056574/0943 →
Priority Claims (1)
KR 10-2020-0169281 · Dec 7, 2020 · national
Continuity (1)
Related Publication 20220179731A1 · Jun 9, 2022
Cited By (1)
US 12,541,413