[PRL] POPL Trip Report

turon at ccs.neu.edu turon at ccs.neu.edu
Thu Jan 10 12:48:17 EST 2008



> ================================================================ 
> 
> Lunch: Spoke to Neil Jones. He's retired now, but is finishing off 
> a journal paper on termination analysis for untyped LC. He uses CFA 
> to make a control-flow graph, and then counts changes in the size of 
> the environment along each edge. The moral is that if every cycle in 
> the control-flow graph is net decreasing, your term terminates. 
> 
> This appears to be enough to prove termination for lots of interesting 
> terms, including factorial (written with Y!), Ackermann's function, 
> etc., even using Churh numerals. 
> 
> This sounds a lot like Matt Might's Logic-Flow Analysis. Aaron, can 
> you say offhand how close this might be to what you did for Pete? 
> 
> I invited him to stop by the next time he's in the US, so he could 
> talk to Olin, Harry, et al. 
> 
> ================================================================ 

In the formalization of this work that I'm familiar with, there is no use of (or need for) a theorem prover.  So I'm not sure about the connection to Logic-Flow Analysis.

The basic approach is to instrument a standard 0CFA analysis with some additional data-flow information, in particular tracking the flow of data into and out of environments.  This flow information, together with an appropriate notion of a call-graph, is sufficient to do termination analysis.

As far as the relation to my work last semester: in fact, I used this framework as a starting point for my analysis.  However, I add an additional layer, modeled after Manolios and Vroon's Calling Context Graphs, which uses a theorem prover to strengthen the analysis.



More information about the PRL mailing list