CGenProg: Adaptation of cartesian genetic programming with migration and opposite guesses for automatic repair of software regression faults
Created by W.Langdon from
gp-bibliography.bib Revision:1.8051
- @Article{KHALILIAN:2021:ESA,
-
author = "Alireza Khalilian and Ahmad Baraani-Dastjerdi and
Bahman Zamani",
-
title = "{CGenProg:} Adaptation of cartesian genetic
programming with migration and opposite guesses for
automatic repair of software regression faults",
-
journal = "Expert Systems with Applications",
-
volume = "169",
-
pages = "114503",
-
year = "2021",
-
ISSN = "0957-4174",
-
DOI = "doi:10.1016/j.eswa.2020.114503",
-
URL = "https://www.sciencedirect.com/science/article/pii/S0957417420311477",
-
keywords = "genetic algorithms, genetic programming, Software
regression testing, Cartesian genetic programming,
Automatic program repair, Opposition-based learning,
Biogeography-based optimization",
-
abstract = "In the last decade, the research community has been
actively working to develop the techniques that can
automatically find a solution to a software fault,
namely, automatic program repair (APR). As of today, a
multitude of APR techniques has been proposed. The
techniques could have effectively repaired a wide
variety of fault classes. However, the development of
effective APR techniques for software regression
faults, which are prevalently occurred in the
maintenance stage of the software lifecycle, have
received little attention. By incorporating specific
knowledge in the domain of software regression faults,
we have developed a novel technique for automatic
repair of software regression faults in Java programs,
which we call CGenProg. To achieve this, we have
extensively adapted and modified the original cartesian
genetic programming (CGP), biogeography-based
optimization (BBO), and opposition-based learning
(OBL). The modified CGP serves us as the core
evolutionary process while the modified BBO and OBL act
as crossover and mutation, respectively. The
significance of CGenProg is that it contributes to the
solution of a practical problem faced by developers in
the maintenance stage of the software lifecycle. For
expert and intelligent systems, it extends what is
known about the application of optimization algorithms
in the context of APR. Further, it demonstrates a novel
use of CGP, BBO, and OBL for automatic repair of
software regression faults. To evaluate CGenProg, we
have developed a prototype tool using the Java
language. Then, we conducted experiments on several
programs in Code4Bench where each program is released
with multiple consecutive versions comprising software
regression faults. In the experiments, CGenProg could
repair 17 out of 30 faulty programs. We conclude that
CGenProg proves relevant and effective for repairing
software regression faults. The impact of this study is
to incentivize researchers for further exploitation and
adaptation of the wealth of existing metaheuristics to
develop effective APR techniques for different fault
classes",
- }
Genetic Programming entries for
Alireza Khalilian
Ahmad Baraani-Dastjerdi
Bahman Zamani
Citations