What Computers Cannot Do: The Consequences of Turing-Completeness
gavinhoward.com
gavinhoward.com
The trick is not to detect if it's a virus, but to block virus and also some inocent programs. So you they can avoid the halting problem. The price is that you get false positives.