Skip to main navigation Skip to search Skip to main content

示例演化驱动的学生程序自动修复

Translated title of the contribution: Example-evolution-driven Automatic Repair of Student Programs
  • School of Computer Science and Technology, Harbin Institute of Technology
  • Harbin University

Research output: Contribution to journalArticlepeer-review

Abstract

Most existing program repair researches are oriented to industrial software. Student program debugging has many unique problems, such as multiple bugs and complex bug types. Therefore, according to the application background of student programming, the automatic repair method is studied, and template programs are used to guide the evolution of patches. Genetic programming algorithm has been improved, such as fitness calculation, mutants generation, and mutation position and operator selection, to make it more suitable for repairing student programs. A static fault location method based on sample programs is proposed, which identifies the difference between the defect program and the sample program and recognizes the possible mutation operators. It can effectively reduce the search space of the patch and improves the accuracy of the program repair. A variable mapping method based on execution value sequence is proposed to reduce compilation errors of mutants and improve the accuracy of program repair. On this basis, an example-evolution-driven system for repairing students' Java programs was designed and implemented. The experimental results show that the method can repair student programs with multiple bugs. For the test set, the repair rate is nearly 100% when the student programs have only 1~2 bugs. When there are 3 bugs, the repair rate is about 70%. When there are 4 or more bugs in the student programs, the repair rate is about 50%.

Translated title of the contributionExample-evolution-driven Automatic Repair of Student Programs
Original languageChinese (Traditional)
Pages (from-to)1256-1268
Number of pages13
JournalRuan Jian Xue Bao/Journal of Software
Volume30
Issue number5
DOIs
StatePublished - 1 May 2019
Externally publishedYes

Fingerprint

Dive into the research topics of 'Example-evolution-driven Automatic Repair of Student Programs'. Together they form a unique fingerprint.

Cite this