Supercharge Your Innovation With Domain-Expert AI Agents!

A C/C++ program defect automatic repair method based on deep learning and program synthesis

A deep learning and automatic repair technology, applied in software engineering design, software maintenance/management, creation/generation of source code, etc., can solve problems such as the inability to guarantee the correctness of the repaired code, and achieve the effect of ensuring correctness

Active Publication Date: 2020-04-07
NANJING UNIV
View PDF2 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Through the verification method of the test case, the correctness of the repaired code cannot be guaranteed

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • A C/C++ program defect automatic repair method based on deep learning and program synthesis
  • A C/C++ program defect automatic repair method based on deep learning and program synthesis
  • A C/C++ program defect automatic repair method based on deep learning and program synthesis

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0028] The specific implementation of the C / C++ program defect automatic repair method based on deep learning and program synthesis used in the present invention will be described in more detail below.

[0029] The C / C++ program defect automatic repair method based on deep learning and program synthesis of this embodiment. This method inputs the C / C++ program with defects, error location information, the protocol that the program needs to meet, and the correct program set that meets the same protocol, and establishes a correct writing structure model by learning the writing structure in the correct program. Then, according to the error location information, the code structure before the error point is used as the input of the model to predict the writing structure of the error point, expand it into a repair candidate item set, and organize it into a form of selection expression. Afterwards, the program synthesis method is used to convert the program with the selection expressi...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention relates to a C / C++ program defect automatic repair method based on depth learning and program synthesis, which comprises the following steps of: entering a C / C++ program with defects, error positioning information, a protocol that the program needs to satisfy, and a correct program set that meets the same protocol, establishing a correct writing structure model by learning the writing structure in the correct program; according to the error positioning information, using the code structure before the error point as the input of the model, predicting the writing structure of the error point, expanding the writing structure into a repaired option set, and organizing the repaired option set in the form of a selection expression; using the program synthesis method to convert theprogram with a selection expression and the protocol which the program needs to meet into a logic expression, and using a constraint solver for solving in a set time; according to the option of each selection expression, outputting the final C / C++ code to obtain the repaired program. According to the method, the common defects of the C / C++ program are repaired in the time complexity of a polynomial, and the correctness of the repaired program is ensured.

Description

technical field [0001] The invention relates to a method for automatically repairing program defects, which uses program synthesis and deep learning methods to realize automatic repair of program defects, and belongs to the field of software engineering. Background technique [0002] In the field of computer science, program synthesis refers to the automatic construction of programs from a programming language so that they meet specific specifications. A common practice is to search the program space to generate programs that satisfy the constraints. Program synthesis is often used in code completion, software development, and algorithm design. [0003] In computer science, the concept of deep learning originated from the study of artificial neural networks. Deep learning combines low-level features to form more abstract high-level representation attribute categories or features to discover distributed feature representations of data. Deep learning is widely used in natur...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Patents(China)
IPC IPC(8): G06F8/72G06F8/30
CPCG06F8/315G06F8/72
Inventor 王林章周风顺李宣东
Owner NANJING UNIV
Features
  • R&D
  • Intellectual Property
  • Life Sciences
  • Materials
  • Tech Scout
Why Patsnap Eureka
  • Unparalleled Data Quality
  • Higher Quality Content
  • 60% Fewer Hallucinations
Social media
Patsnap Eureka Blog
Learn More