In
computer science, a
termination analysis is
program analysis which attempts to determine whether the evaluation of a given
program will definitely terminate. Because the
halting problem is
undecidable, termination analysis cannot be total. The aim is to find the answer "program does terminate" (or "program does not terminate") whenever this is possible. Without success the algorithm (or human) working on the termination analysis may answer with "maybe" or continue working infinitely long.