Popis: |
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. Researchers have recently designed a software testing framework for CRNs, however, repairing CRN programs is still a manual task. 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 and use a testing infrastructure built in the Matlab SimBiology package. We 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. |