"The halting problem is a question in computability theory which asks if an algorithm can be found that decides whether a program (a Turning machine) will finish, or run forever, once given a description of such a program and a finite amount of input."