RO  EN
IMI/Publicaţii/CSJM/Ediţii/CSJM v.31, n.2 (92), 2023/

Correcting Instruction Expression Logic Errors with GenExp: A Genetic Programming Solution

Authors: Mohammed Bekkouche
Keywords: error correction, instruction expression, plausible patch, crossover, mutation.

Abstract

Correcting logical errors in a program is not simple even with the availability of an error locating tool. In this article, we introduce GenExp, a genetic programming approach to automate the task of repairing instruction expressions from logical errors. \correction{Starting} from an error location specified by the programmer, we search for a replacement instruction that passes all test cases. Specifically, we generate expressions that will substitute the selected instruction expression until \correction{we} obtain one that \correction{corrects} the input program. \correction{The search space is exponentially large, making exhaustive methods inefficient.} \correction{Therefore, we utilize a genetic programming meta-heuristic that organizes the search process into stages, with each stage producing a group of individuals.} The results showed that our approach can find at least one plausible patch for almost all cases considered in experiments and outperforms a notable state-of-the-art error repair approach \correction{like} ASTOR. Although our tool is slower than ASTOR, it \correction{provides} greater precision in detecting plausible repairs, making it a suitable option for users who prioritize accuracy over speed.

ORCID: https://orcid.org/0000-0002-8305-0542
LabRI-SBA Laboratory, Ecole Superieure en Informatique,
Sidi Bel Abbes, Algeria
BP. 73, Bureau de poste EL WIAM, Sidi Bel Abbes, 22016, Algeria
E-mail:

DOI

https://doi.org/10.56415/csjm.v31.12

Fulltext

Adobe PDF document0.37 Mb