You need Knaster's and Tarski's lattice theory, and you demonstrate that the lowest fixed point of the transitive opening of your loop converges on "abort." And if you can understand that lot, you are doing quite well.
Or to put it simply: you can't. Java doesn't support the loop variant of languages like B or Eiffel, so you cannot actually test for an infinite loop.
You could try putting an int counter in the loop, incrementing it each repetition, and if it goes negative call a break statement (or better, throw an Exception). That's as near as I can think of to test for an infinite loop.
In general it's not solvable. In practicality, you'd have to have control over the JVM. Heuristically, it's a difficult problem where you'll have to weigh your false positives v. your false negatives - you're going to get some.
Bill Shirley - bshirley - frazerbilt.com
if (Posts < 30) you.read( JavaRanchFAQ);