software testing attempts to eliminate a program for what reason?