3 ms·
The key differences between natural systems and computer systems is that vulnerabilities don't kill a piece of software, and there's no interbreeding. You don't
by alanctgardner2 14y ago
The key differences between natural systems and computer systems is that vulnerabilities don't kill a piece of software, and there's no interbreeding. You don't get two types of emacs, one of which has a buffer overflow, breeding to produce a new emacs without the bug. You get top-down design, where the 'many eyes' theory dictates that new vulnerabilities should be found faster in a more popular code-base.
Evolutionary theory is useless for describing software vulnerabilities (presently), because the software on your computer doesn't get to pass on it's genes, hacked or not. It's a clone of every other download from the same source, and they're all systematically replaced by a new release with minimal feedback.
- dllthomas 14y agoI was speaking of epidemiology, not evolution. I agree that there are quite significant differences between evolution of software and evolution of organisms, and evolution certainly has an impact on epidemiology, but monocultures are an epidemiological problem for reasons mostly unrelated to evolution.