During CPU idle time (at default settings), Avast! creates a Virus Recovery DataBase (VRDB) which it will use as a reference for repairing infected files, so just leaving the machine on will allow it to be constructed. The settings for this can be altered by right-clicking on the blue and white “i” icon in the system tray.

Avast! is mainly detecting viruses, worms, trojans. Some spyware will be detected but using a specialist antispyware app alongside Avast! is adviseable.
At least Windows Defender. Other suggestions http://forum.avast.com/index.php?topic=28834.0 3rd post down by “Tech”.