Self-repairing software tackles malware