Correcting Instruction Expression Logic Errors with GenExp: A Genetic Programming Solution
-
Published:2023-07
Issue:2 (92)
Volume:31
Page:217-247
-
ISSN:1561-4042
-
Container-title:Computer Science Journal of Moldova
-
language:
-
Short-container-title:CSJM
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.
Publisher
Moldova State University
Subject
Artificial Intelligence,Computational Mathematics,Computational Theory and Mathematics,Control and Optimization,Computer Networks and Communications,Computer Science Applications,Modeling and Simulation,Software