self-replication
Artificial life through symbiogenesis — self-replicating programs emerge from random byte soups