Hybrid genetic algorithm for improving fault localization
Finding faults in a program correctly is crucial in software maintenance. In this light, many techniques have been proposed such as program slicing, code coverage, program state and mutation analysis. While all these techniques give us good insight on fault localization, but it appears that these te...
Saved in:
Main Authors: | , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
American Scientific Publishers
2018
|
Online Access: | http://psasir.upm.edu.my/id/eprint/64692/1/Hybrid%20genetic%20algorithm%20for%20improving%20fault%20localization.pdf http://psasir.upm.edu.my/id/eprint/64692/ https://www.ingentaconnect.com/contentone/asp/asl/2018/00000024/00000003/art00012 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | Finding faults in a program correctly is crucial in software maintenance. In this light, many techniques have been proposed such as program slicing, code coverage, program state and mutation analysis. While all these techniques give us good insight on fault localization, but it appears that these techniques are made based on the assumption that the faults are caused by a single fault. However, in a reality, one fault could also possibly caused by multiple faults. This requires a technique which is specifically designed to handle multiple faults. With this regards, application of mutation analysis to localize faults might generate a vast number of mutants. As a result, these will lead to difficulty in choosing important mutants that are capable of localizing faults. Therefore, there is a need for a technique which able to localize a fault effectively with less number of mutants generated. Genetic algorithm (GA) is well known in finding an optimal solution to a problem while local search is capable of removing duplication. Since both had their own advantage, we have combined both techniques to enhance multiple localization of software fault. The result of the experiment shows that our technique able to detect multiple faults in various java programs but there is a need for improvement especially in prioritize fault that occurs simultaneously. |
---|