3.59/1.78 YES 3.59/1.78 proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar 3.59/1.78 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.59/1.78 3.59/1.78 3.59/1.78 termination of the given Bare JBC problem could be proven: 3.59/1.78 3.59/1.78 (0) Bare JBC problem 3.59/1.78 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 3.59/1.78 (2) JBC problem 3.59/1.78 (3) JBCToGraph [EQUIVALENT, 86 ms] 3.59/1.78 (4) JBCTerminationGraph 3.59/1.78 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 3.59/1.78 (6) TRUE 3.59/1.78 3.59/1.78 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (0) 3.59/1.78 Obligation: 3.59/1.78 need to prove termination of the following program: 3.59/1.78 package ArrayObjects; 3.59/1.78 3.59/1.78 public class ArrayObjects { 3.59/1.78 public static void main(String[] argv) { 3.59/1.78 Object obj0 = new Object(); 3.59/1.78 Object obj1 = new Object(); 3.59/1.78 Object obj2 = new Object(); 3.59/1.78 Object[] data = {obj0, obj1, obj2}; 3.59/1.78 while (data[0] != obj0); 3.59/1.78 while (data[1] != obj1); 3.59/1.78 while (data[2] != obj2); 3.59/1.78 } 3.59/1.78 } 3.59/1.78 3.59/1.78 3.59/1.78 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (1) BareJBCToJBCProof (EQUIVALENT) 3.59/1.78 initialized classpath 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (2) 3.59/1.78 Obligation: 3.59/1.78 need to prove termination of the following program: 3.59/1.78 package ArrayObjects; 3.59/1.78 3.59/1.78 public class ArrayObjects { 3.59/1.78 public static void main(String[] argv) { 3.59/1.78 Object obj0 = new Object(); 3.59/1.78 Object obj1 = new Object(); 3.59/1.78 Object obj2 = new Object(); 3.59/1.78 Object[] data = {obj0, obj1, obj2}; 3.59/1.78 while (data[0] != obj0); 3.59/1.78 while (data[1] != obj1); 3.59/1.78 while (data[2] != obj2); 3.59/1.78 } 3.59/1.78 } 3.59/1.78 3.59/1.78 3.59/1.78 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (3) JBCToGraph (EQUIVALENT) 3.59/1.78 Constructed TerminationGraph. 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (4) 3.59/1.78 Obligation: 3.59/1.78 Termination Graph based on JBC Program: 3.59/1.78 ArrayObjects.ArrayObjects.main([Ljava/lang/String;)V: Graph of 44 nodes with 0 SCCs. 3.59/1.78 3.59/1.78 3.59/1.78 3.59/1.78 3.59/1.78 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (5) TerminationGraphToSCCProof (SOUND) 3.59/1.78 Proven termination by absence of SCCs 3.59/1.78 ---------------------------------------- 3.59/1.78 3.59/1.78 (6) 3.59/1.78 TRUE 3.66/1.81 EOF