The adoption of various automatic software update mechansim by both the commercial and open-source software developers to protect computer systems from virus writers and virus distributors is discussed. Antivirus developers have automated the signature creation and testing process to detect zero-day worms. Malware developers can discover new vulnerabilities by working in parallel and automating vulnerability discover and exploitation. A nonexecutable stacks and anomaly-based intrusion prevention systems prevent exploits without signatures or software patches.