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...

Full description

Saved in:
Bibliographic Details
Main Authors: Mahamad Zakaria, Muhammad Luqman, Sharif, Khaironi Yatim, Abd Ghani, Abdul Azim, Koh, Tieng Wei, Zulzalil, Hazura
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!
Description
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.