Algorithm 489: the algorithm SELECT—for finding the ith smallest of n elements [M1]
Communications of the ACM
Thinking Tools for the Future of Computing Science
Informatics - 10 Years Back. 10 Years Ahead.
A view of program verification
Proceedings of the international conference on Reliable software
Deriving specifications for systems that are connected to the physical world
Formal methods and hybrid real-time systems
Hi-index | 0.02 |
Proof of clean termination is a useful sub-goal in the process of proving that a program is totally correct. Clean termination means that the program terminates (no infinite loops) and that it does so normally, without any execution-time semantic errors (integer overflow, use of undefined variables, subscript out of range, etc.). In contrast to proofs of correctness, proof of clean termination requires no extensive annotation of a program by a human user, but the proof says nothing about the results calculated by the program, just that whatever it does, it terminates cleanly. Two example proofs are given, of previously published programs: TREESORT3 by Robert Floyd, and SELECT by Ronald L. Rivest and Robert Floyd.