CRNRepair: Automated Program Repair of Chemical Reaction Networks
Channel: Genetic Improvement Workshop
Date: 2021-06-07

Chemical reaction networks (CRNs) are abstractions of distributed networks that form the foundations of many natural phenomena such as biological processes. These can be encoded and/or compiled into DNA and have been shown to be Turing complete. Before CRNs are implemented in a physical environment, they are often simulated in programming environments. Like traditional programs, these CRN programs must be validated. Researchers have recently designed a software testing framework for CRNs, however, repairing CRN programs is still a manual task. While the programs are often small in size, finding and repairing the faults can be difficult without automated support. In this paper we present CRNRepair, a program repair framework for CRN programs. We built our framework on top of an existing APR framework. We use a testing infrastructure built in the Matlab SimBiology package and adapt it to use the SBML representation for its abstract syntax tree. In a case study on 19 mutant versions of 2 programs, we find plausible patches for 90% of one of the programs, and 50% of the other. We find several common types of repairs, which differ from the correct programs, but are functionally correct.

Ibrahim Mesecan (Iowa State University), Michael C. Gerten (Iowa State University), James I. Lathrop (Iowa State University), Myra Cohen (Iowa State University), Tomas Haddad Caldas (Catholic Pontifical University of Rio Grande do Sul)