Robustness to Code and Data Deletion in Autocatalytic Quines

  • Thomas Meyer
  • Daniel Schreckling
  • Christian Tschudin
  • Lidia Yamamoto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5410)


Software systems nowadays are becoming increasingly complex and vulnerable to all sorts of failures and attacks. There is a rising need for robust self-repairing systems able to restore full functionality in the face of internal and external perturbations, including those that affect their own code base. However, it is difficult to achieve code self-repair with conventional programming models.

We propose and demonstrate a solution to this problem based on self-replicating programs in an artificial chemistry. In this model, execution proceeds by chemical reactions that modify virtual molecules carrying code and data. Self-repair is achieved by what we call autocatalytic quines: programs that permanently reproduce their own code base. The concentration of instructions reflects the health of the system, and is kept stable by the instructions themselves. We show how the chemistry of such programs enables them to withstand arbitrary amounts of random code and data deletion, without affecting the results of their computations.


Injection Rate Reaction Vessel Arithmetic Expression Vessel Capacity Gillespie Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baumann, R.C.: Soft errors in advanced semiconductor devices – part 1: the three radiation sources. IEEE Transactions on Device and Materials Reliability 1(1), 17–22 (2001)CrossRefGoogle Scholar
  2. 2.
    Anckaert, B., Madou, M., de Bosschere, K.: A model for self-modifying code. In: Camenisch, J.L., Collberg, C.S., Johnson, N.F., Sallee, P. (eds.) IH 2006. LNCS, vol. 4437, pp. 232–248. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Calude, C.S., Păun, G.: Computing with Cells and Atoms: An Introduction to Quantum, DNA and Membrane Computing. Taylor & Francis, Abington (2001)zbMATHGoogle Scholar
  4. 4.
    Dittrich, P.: Chemical Computing. In: Banâtre, J.-P., Fradet, P., Giavitto, J.-L., Michel, O. (eds.) UPP 2004. LNCS, vol. 3566, pp. 19–32. Springer, Heidelberg (2005)Google Scholar
  5. 5.
    Dittrich, P., Ziegler, J., Banzhaf, W.: Artificial Chemistries – A Review. Artificial Life 7(3), 225–275 (2001)CrossRefGoogle Scholar
  6. 6.
    Banzhaf, W., Lasarczyk, C.: Genetic Programming of an Algorithmic Chemistry. In: O’Reilly, et al. (eds.) Genetic Programming Theory and Practice II, vol. 8, pp. 175–190. Kluwer/Springer (2004)Google Scholar
  7. 7.
    Deckard, A., Sauro, H.M.: Preliminary Studies on the In Silico Evolution of Biochemical Networks. ChemBioChem 5(10), 1423–1431 (2004)CrossRefGoogle Scholar
  8. 8.
    Leier, A., Kuo, P.D., Banzhaf, W., Burrage, K.: Evolving Noisy Oscillatory Dynamics in Genetic Regulatory Networks. In: Collet, P., Tomassini, M., Ebner, M., Gustafson, S., Ekárt, A. (eds.) EuroGP 2006. LNCS, vol. 3905, pp. 290–299. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Păun, G.: Computing with Membranes. Journal of Computer and System Sciences 61(1), 108–143 (2000)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Banâtre, J.P., Fradet, P., Radenac, Y.: A Generalized Higher-Order Chemical Computation Model with Infinite and Hybrid Multisets. In: 1st International Workshop on New Developments in Computational Models (DCM 2005). ENTCS, pp. 5–14. Elsevier, Amsterdam (to appear)Google Scholar
  11. 11.
    Tschudin, C.: Fraglets - a metabolistic execution model for communication protocols. In: Proc. 2nd Annual Symposium on Autonomous Intelligent Networks and Systems (AINS), Menlo Park, USA (2003)Google Scholar
  12. 12.
    Yamamoto, L., Schreckling, D., Meyer, T.: Self-Replicating and Self-Modifying Programs in Fraglets. In: Proc. 2nd International Conference on Bio-Inspired Models of Network, Information, and Computing Systems (BIONETICS 2007), Budapest, Hungary (2007)Google Scholar
  13. 13.
    von Neumann, J.: Theory of Self-Reproducing Automata. University of Illinois Press, Champaign (1966)Google Scholar
  14. 14.
    Sipper, M., Sanchez, E., Mange, D., Tomassini, M., Perez-Uribe, A., Stauffer, A.: A Phylogenetic, Ontogenetic, and Epigenetic View of Bio-Inspired Hardware Systems. IEEE Transactions on Evolutionary Computation 1(1) (1997)Google Scholar
  15. 15.
    Freitas Jr., R.A., Merkle, R.C.: Kinematic Self-Replicating Machines. Landes Bioscience, Georgetown (2004)Google Scholar
  16. 16.
    Sipper, M.: Fifty years of research on self-replication: an overview. Artificial Life 4(3), 237–257 (1998)CrossRefGoogle Scholar
  17. 17.
    Langton, C.G.: Self-reproduction in cellular automata. Physica D 10D(1-2), 135–144 (1984)CrossRefGoogle Scholar
  18. 18.
    Perrier, J.Y., Sipper, M., Zahnd, J.: Toward a Viable, Self-Reproducing Universal Computer. Physica D 97, 335–352 (1996)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Kleene, S.: On notation for ordinal numbers. The Journal of Symbolic Logic 3, 150–155 (1938)zbMATHCrossRefGoogle Scholar
  20. 20.
    Thompson, G.P.: The quine page (1999),
  21. 21.
    Dittrich, P., di Fenizio, P.S.: Chemical organization theory: towards a theory of constructive dynamical systems. Bulletin of Mathematical Biology 69(4), 1199–1231 (2005)CrossRefGoogle Scholar
  22. 22.
    Fontana, W., Buss, L.W.: The Arrival of the Fittest: Toward a Theory of Biological Organization. Bulletin of Mathematical Biology 56, 1–64 (1994)zbMATHGoogle Scholar
  23. 23.
    Dittrich, P., Banzhaf, W.: Self-Evolution in a Constructive Binary String System. Artificial Life 4(2), 203–220 (1998)CrossRefGoogle Scholar
  24. 24.
    Hutton, T.J.: Evolvable Self-Reproducing Cells in a Two-Dimensional Artificial Chemistry. Artificial Life 13(1), 11–30 (2007)CrossRefMathSciNetGoogle Scholar
  25. 25.
    Teuscher, C.: From membranes to systems: self-configuration and self-replication in membrane systems. BioSystems 87(2-3), 101–110 (2007); The Sixth International Workshop on Information Processing in Cells and Tissues (IPCAT 2005), York, UK (2005)CrossRefGoogle Scholar
  26. 26.
    Holland, J.: Adaptation in Natural and Artificial Systems, 1st edn. MIT Press, Cambridge (1992)Google Scholar
  27. 27.
    Decraene, J., Mitchell, G.G., McMullin, B., Kelly, C.: The Holland Broadcast Language and the Modeling of Biochemical Networks. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 361–370. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Tominaga, K., Watanabe, T., Kobayashi, K., Nakamura, M., Kishi, K., Kazuno, M.: Modeling Molecular Computing Systems by an Artificial Chemistry—Its Expressive Power and Application. Artificial Life 13(3), 223–247 (2007)CrossRefGoogle Scholar
  29. 29.
    Gillespie, D.T.: Exact Stochastic Simulation of Coupled Chemical Reactions. Journal of Physical Chemistry 81(25), 2340–2361 (1977)CrossRefGoogle Scholar
  30. 30.
    Bagley, R.J., Farmer, J.D., Kauffman, S.A., Packard, N.H., Perelson, A.S., Stadnyk, I.M.: Modeling adaptive biological systems. Biosystems 23, 113–138 (1989)CrossRefGoogle Scholar
  31. 31.
    Farmer, J.D., Kauffman, S.A., Packard, N.H.: Autocatalytic replication of polymers. Physica D 2(1-3), 50–67 (1986)CrossRefMathSciNetGoogle Scholar
  32. 32.
    Kauffman, S.A.: The Origins of Order: Self-Organization and Selection in Evolution. Oxford University Press, Oxford (1993)Google Scholar
  33. 33.
    Mossel, E., Steel, M.: Random biochemical networks: the probability of self-sustaining autocatalysis. Journal of Theoretical Biology 233(3), 327–336 (2005)CrossRefMathSciNetGoogle Scholar
  34. 34.
    di Fenizio, P.S., Banzhaf, W.: A less abstract artificial chemistry. In: Bedau, M.A., Mccaskill, J.S., Packard, N.H., Rasmusseen, S. (eds.) Artificial Life VII, Cambridge, Massachusetts 02142, pp. 49–53. MIT Press, Cambridge (2000)Google Scholar
  35. 35.
    Stadler, P.F., Fontana, W., Miller, J.H.: Random catalytic reaction networks. Physica D 63(3-4), 378–392 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    Hoglund, G., Mcgraw, G.: Exploiting Software: How to Break Code. Addison-Wesley Professional, Reading (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Thomas Meyer
    • 1
  • Daniel Schreckling
    • 2
  • Christian Tschudin
    • 1
  • Lidia Yamamoto
    • 1
  1. 1.Computer Science DepartmentUniversity of BaselBaselSwitzerland
  2. 2.Computer Science DepartmentUniversity of HamburgHamburgGermany

Personalised recommendations