Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

A Software Repair Method Based on Genetic Algorithm

A genetic algorithm and software repair technology, applied in the field of automatic repair of software error repair, can solve problems such as enumeration method is difficult to find the optimal solution, search space increases, etc., to achieve a high degree of automation and reduce workload

Active Publication Date: 2016-06-22
XIDIAN UNIV
View PDF3 Cites 4 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0011] Combinatorial optimization: As the scale of the problem increases, the search space of the combinatorial optimization problem also increases sharply, and sometimes it is difficult to find the optimal solution by using the enumeration method in the current calculation

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 Software Repair Method Based on Genetic Algorithm
  • A Software Repair Method Based on Genetic Algorithm
  • A Software Repair Method Based on Genetic Algorithm

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0044] refer to figure 1 Implementation steps of the present invention are as follows:

[0045](1) Program representation: represent the program as an abstract syntax tree structure, where each node in the abstract syntax tree is an executable statement or a control flow structure. The evolution operation is positioned on the node of the error test case execution path.

[0046] Select a set of test cases T so that it can test all the functions of the program as much as possible. The test case set contains positive test cases and negative test cases. The positive test case is a test case that is correctly executed in the program, and the negative test case is a test case that the program execution terminates abnormally or an error result is obtained.

[0047] Through the invariant generation tool, execute positive test cases on the program, generate invariants in the program, and use the generated invariants as invariant constraints when calculating the fitness value.

[00...

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

A genetic algorithm based software repair method includes steps of A), signifying a to-be-repaired program to be an abstract syntax tree structure, generating a test case suite comprising positive test cases which are correctly executed in the program and negative test cases which are abnormally ended or produce error results during program execution; B), copying original programs to acquire M program copies, subjecting the M program copies to mutation operation and setting the biggest evolutionary algebra; determining fitness function, taking invariants as invariant constraints to calculate fitness, executing all test cases to each individual, calculating number of passed test cases and maintained number of the invariant constraints, and acquiring fitness values of each individual by calculating; D), subjecting genetic operation of the individual of each generation population comprising variation, intersection and selection; E), terminating conditional judgment.

Description

technical field [0001] The invention belongs to the field of software engineering and proposes an automatic repair method that can be used for software error repair. Background technique [0002] In recent years, with the continuous development of modern software, software is becoming more and more important to enterprises and individuals. The number of software is increasing, the functions are becoming more and more abundant, and the scale is becoming larger and larger. It is impossible for any team to make the software perfect in the design and development of the software, and there may even be more faults, which requires software developers to repair these faults. The existing software failure repair methods are: [0003] Restore block method: [0004] There are generally two recovery strategies for faults: forward recovery and backward recovery. The recovery block method adopts a backward recovery strategy. It provides the main block and several backup blocks with th...

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): G06F11/36
Inventor 段振华戚云霞田聪张南王小兵
Owner XIDIAN UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products