Heuristic analysis is a method employed by many computer antivirus programs designed to detect previously unknown computer viruses, as well as new variants of viruses already in the "wild".
It then analyzes the commands as they are performed, monitoring for common viral activities such as replication, file overwrites, and attempts to hide the existence of the suspicious file.
If one or more virus-like actions are detected, the suspicious file is flagged as a potential virus, and the user alerted.
However, heuristic analysis operates on the basis of experience (by comparing the suspicious file to the code and functions of known viruses).
Hence, the effectiveness is fairly low regarding accuracy and the number of false positives.