Harnessing Self-modifying Code for Resilient Software

  • Christian Tschudin
  • Lidia Yamamoto
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3825)


In this paper we argue that self-modifying code can become a better strategy for realizing long-lived autonomous software systems than static code, regardless how well it was validated and tested. We base our discussion on three facets – self-repairing software, adaptive software and networked systems – for which we point out ongoing and related work before presenting a roadmap towards a controlled framework for self-modifying code.


Resilient software self-healing protocols computational agents autonomic communication 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dewdney, A.K.: Recreational Mathematics – Core Wars Scientific American (May 1984),
  2. 2.
    von Neumann, J.: Probabilistic logics and the synthesis of reliable organisms from unreliable components, pp. 43–98 (1956)Google Scholar
  3. 3.
    Truszkowski, W., Hallock, H., Kurien, J.: Agent technology from a NASA perspective. In: Klusch, M., Shehory, O., Weiss, G. (eds.) CIA 1999. LNCS (LNAI), vol. 1652, pp. 1–33. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Robertson, P., Williams, B.: A Model-Based System Supporting Automatic Self- Regeneration of Critical Software. In: IFIP/IEEE International Workshop on Self- Managed Systems and Services (SelfMan 2005), Nice, France (2005)Google Scholar
  5. 5.
    Reis, G.A., Chang, J., Vachharajani, N., Rangan, R., August, D.I.: SWIFT: Software implemented fault tolerance. In: Proceedings of the Third International Symposium on Code Generation and Optimization (2005) Google Scholar
  6. 6.
    Holland, J.: Adaptation in Natural and Artificial Systems. MIT Press, Cambridge (1992)Google Scholar
  7. 7.
    Yamamoto, L., Tschudin, C.: Genetic Evolution of Protocol Implementations and Configurations. In: IFIP/IEEE International Workshop on Self-Managed Systems and Services (SelfMan 2005), Nice, France (2005) Google Scholar
  8. 8.
    Manna, Z., Waldinger, R.: Fundamentals of Deductive Program Synthesis. IEEE Transactions on Software Engineering 18(8), 674–704 (1992)CrossRefGoogle Scholar
  9. 9.
    Probert, R.L., Saleh, K.: Synthesis of Communication Protocols: Survey and Assessment. IEEE Transactions on Computers 40(4), 468–476 (1991)CrossRefGoogle Scholar
  10. 10.
    Spector, L., Robinson, A.: Multi-type, Self-adaptive Genetic Programming as an Agent Creation Tool. In: Proceedings of the Workshop on Evolutionary Computation for Multi-Agent Systems (ECOMAS-2002), International Society for Genetic and Evolutionary Computation (2002)Google Scholar
  11. 11.
    Wetherall, D., Guttag, J., Tennenhouse, D.: ANTS: Network Services Without the Red Tape, pp. 42–48. IEEE Computer, Los Alamitos (1999)Google Scholar
  12. 12.
    Hicks, M., Kakkar, P., Moore, J.T., Gunter, C.A., Nettles, S.: PLAN: A Packet Language for Active Networks. In: Proceedings of the 3rd. ACM SIGPLAN International Conference on Functional Programming Languages (ICFP 1998), pp. 86–93 (1998)Google Scholar
  13. 13.
    Tschudin, C.: The Messenger Environment MØ - A Condensed Description. In: Tschudin, C.F., Vitek, J. (eds.) MOS 1996. LNCS, vol. 1222, pp. 149–156. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  14. 14.
    Tschudin, C.: Fraglets - a Metabolistic Execution Model for Communication Protocols. In: Proceeding of 2nd Annual Symposium on Autonomous Intelligent Networks and Systems (AINS), Menlo Park, USA (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Christian Tschudin
    • 1
  • Lidia Yamamoto
    • 1
  1. 1.Computer Networks Group, Computer Science DepartmentUniversity of BaselBaselSwitzerland

Personalised recommendations