tpis - Total Procedures in Scheme
Description
This is a static analyzer, written in Scheme, which can check if given Scheme procedures are total (always terminate, on any input) by checking that they are specified primitive-recursively. What's more, it is written almost entirely in a primitive-recursive style, so it can check itself!