Talk:Termination analysis

message: I think this article is missing motivations for performing termination analysis.
What are the benefits of finding out whether a program terminates?
For example, are there compiler optimizations making use of this fact?
Can the information be used to rule out faulty programs?
- (Signature supplied from revision history:) 46.5.181.43, 19 June 2015‎
:I agree, and try to indicate some motivations, however, yet without sources.
:(1) The software controlling an embedded system often has the form of an outer loop which repeatedly executes some inner code to react to actual sensor inputs. in order to react in time, it is essential that the inner code terminates under every circumstances (, and within a guaranteed maximum-time bound). Think of a car driving at 60 mph with the inner code computing the break control getting stuck in an endless loop, thus preventing the following code for computing the steering control from being executed (at all, let alone in time).
:(2) A compiler, run on an however weird input, should always terminate.
:(3) If a text processing program calls an internal subroutine that doesn't terminate, it won't read any more user input. From the user's point of view, the program is "hanging", and has to be terminated manually via the operating system, often resulting in loss of the more recent unsaved edit operations. - Jochen Burghardt (talk) 18:42, 19 June 2015 (UTC)
thread_title: Applications

message: The assertion that the only valid answers are "definitely terminates" or "don't know" is patently false and a misinterpretation of the Halting Problem.  Consider a simple program:
010  GOTO 010
Trivially, this program will never terminate.  What must be true is that any given method must have at least one program that it cannot determine, and so must any union of finitely many methods.  Robert A.West (Talk) 00:00, 1 September 2006 (UTC)
replies: text: "For example, evaluation of a constant is bound to terminate."
# I don't quite know what "evaluation of" means.
# If "evaluation of" means  "to determine" as in "to create" a constant such as pi I don't see why the calculation creating pi has to necessarily terminate
# And even if "the method" starts to calculate pi (apparently) successfully, will it erroneously terminate, say after calculating only 1,258,433,705 digits? In other words, do we have an "ineffective" algorithm because of premature termination? 
Am I missing something obvious here? wvbaileyWvbailey 02:47, 1 September 2006 (UTC)
thread_title: Only valid answers?

message: At what stage of the compilation does termination analysis take place ? Any variation ?  --81.84.152.156 (talk) 22:57, 10 May 2010 (UTC)
thread_title:  missing info 

message: "Some types of termination analysis can automatically generate or imply the existence of a termination proof." - a termination analysis tool, by definition,
has to be able to generate or imply the existence of either a termination or a non-termination proof (when it succeeds).  Hence, I do not understand the point of this sentence. 
(One could speculate on a tool which "magically" knows a result without even implying a proof for it, but such a tool would not be accepted by the scientific community).
Perhaps the writer of this sentence intended to write about certifiable termination provers?
AmirOnWiki (talk) 12:54, 4 October 2015 (UTC)
thread_title:  Strange comment 

message: I recently added a link to "terminating computation" on this page, but the target of this redirect page seems to be incorrect. Should "terminating computation" be redirected to a different article to avoid this confusion? Jarble (talk) 21:24, 28 January 2019 (UTC)
replies: text: I think both words are used here in there common sense, so they need not necessarily be explained. Maybe, "terminating" is a foreign (Latin?) word, and could be simplified to "halting" or "finishing" or "coming to an end". There is an article computation that could be linked, but it appears to have a philosophical rather than a computer-science view. I also checked algorithm, but while it uses "run-time" and "execution", it never explains that an algorithm is run (or executed) on a computer, let alone explaining that this process usually should finish with a result, after some reasonable amount of time (to explain this would be the main purpose of adding a link, I think). - On the other hand, termination analysis is an issue of theoretical computer science, so we can expect a reader will known the most basic facts about algorithms and their execution. - Jochen Burghardt (talk) 21:47, 28 January 2019 (UTC)
thread_title:  "Terminating computation" redirect page 

message: I have reformulated the introduction because
- it is unclear what is meant with "definitely" in formal terms (=> program will definitely terminate) ;
- it is the Totality Problem instead of the Halting Problem which matters here;
- being (not) "total" is a property of functions but not of programs (=> "termination analysis cannot be total");
- there is no evidence about the performance of humans in (dis)proving termination.
Jack Rusell (talk) 16:34, 30 November 2019 (UTC)
thread_title:  Reformulation of the introduction 

message: You should mention bignum is used... because it's easy to work out all 32-bit or 64-bit integer inputs...
Maybe using language like Python?  — Preceding unsigned comment added by 93.75.21.51 (talk) 02:08, 29 March 2020 (UTC)
thread_title:  Example C program