(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Exc3
/**
* A loop continously throwing and catching an exception.
* The exception is thrown before the statement that makes the loop
* progress, but the exception body contains another statement making the
* loop progress.
*
* All calls terminate.
*
* Julia + BinTerm prove that all calls terminate.
*
* @author <A HREF="mailto:fausto.spoto@univr.it">Fausto Spoto</A>
*/
public class Exc3 {
public static void main(String[] args) {
int i = 0;
while (i < 20) {
try {
if (i > 10) throw null;
i++;
}
catch (NullPointerException e) {
i++;
}
}
}
}
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 379 nodes with 0 SCCs.
(3) FIGtoITRSProof (SOUND transformation)
Transformed FIGraph to ITRS rules
(4) TRUE