9.83/3.54 NO 10.01/3.58 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 10.01/3.58 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.01/3.58 10.01/3.58 10.01/3.58 termination of the given Bare JBC problem could be disproven: 10.01/3.58 10.01/3.58 (0) Bare JBC problem 10.01/3.58 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 10.01/3.58 (2) JBC problem 10.01/3.58 (3) JBCToGraph [EQUIVALENT, 553 ms] 10.01/3.58 (4) JBCTerminationGraph 10.01/3.58 (5) JBCNonTerm [COMPLETE, 1761 ms] 10.01/3.58 (6) NO 10.01/3.58 10.01/3.58 10.01/3.58 ---------------------------------------- 10.01/3.58 10.01/3.58 (0) 10.01/3.58 Obligation: 10.01/3.58 need to prove termination of the following program: 10.01/3.58 package simple.mirrorInterv; 10.01/3.58 10.01/3.58 public class Main { 10.01/3.58 10.01/3.58 /** 10.01/3.58 * @param args 10.01/3.58 */ 10.01/3.58 public static void main(String[] args) { 10.01/3.58 MirrorInterv.loop(args.length); 10.01/3.58 } 10.01/3.58 10.01/3.58 } 10.01/3.58 10.01/3.58 10.01/3.58 package simple.mirrorInterv; 10.01/3.58 10.01/3.58 public class MirrorInterv { 10.01/3.58 10.01/3.58 /* 10.01/3.58 10.01/3.58 */ 10.01/3.58 public static void loop(int i) { 10.01/3.58 int range = 20; 10.01/3.58 while (-range <= i & i <= range) { 10.01/3.58 if (range-i < 5 || range+i < 5) { 10.01/3.58 i = i*(-1); 10.01/3.58 } else { 10.01/3.58 range++; 10.01/3.58 i--; 10.01/3.58 if (i == 0) { 10.01/3.58 range = -1; 10.01/3.58 } 10.01/3.58 } 10.01/3.58 } 10.01/3.58 10.01/3.58 } 10.01/3.58 } 10.01/3.58 10.01/3.58 10.01/3.58 10.01/3.58 ---------------------------------------- 10.01/3.58 10.01/3.58 (1) BareJBCToJBCProof (EQUIVALENT) 10.01/3.59 initialized classpath 10.01/3.59 ---------------------------------------- 10.01/3.59 10.01/3.59 (2) 10.01/3.59 Obligation: 10.01/3.59 need to prove termination of the following program: 10.01/3.59 package simple.mirrorInterv; 10.01/3.59 10.01/3.59 public class Main { 10.01/3.59 10.01/3.59 /** 10.01/3.59 * @param args 10.01/3.59 */ 10.01/3.59 public static void main(String[] args) { 10.01/3.59 MirrorInterv.loop(args.length); 10.01/3.59 } 10.01/3.59 10.01/3.59 } 10.01/3.59 10.01/3.59 10.01/3.59 package simple.mirrorInterv; 10.01/3.59 10.01/3.59 public class MirrorInterv { 10.01/3.59 10.01/3.59 /* 10.01/3.59 10.01/3.59 */ 10.01/3.59 public static void loop(int i) { 10.01/3.59 int range = 20; 10.01/3.59 while (-range <= i & i <= range) { 10.01/3.59 if (range-i < 5 || range+i < 5) { 10.01/3.59 i = i*(-1); 10.01/3.59 } else { 10.01/3.59 range++; 10.01/3.59 i--; 10.01/3.59 if (i == 0) { 10.01/3.59 range = -1; 10.01/3.59 } 10.01/3.59 } 10.01/3.59 } 10.01/3.59 10.01/3.59 } 10.01/3.59 } 10.01/3.59 10.01/3.59 10.01/3.59 10.01/3.59 ---------------------------------------- 10.01/3.59 10.01/3.59 (3) JBCToGraph (EQUIVALENT) 10.01/3.59 Constructed TerminationGraph. 10.01/3.59 ---------------------------------------- 10.01/3.59 10.01/3.59 (4) 10.01/3.59 Obligation: 10.01/3.59 Termination Graph based on JBC Program: 10.01/3.59 simple.mirrorInterv.Main.main([Ljava/lang/String;)V: Graph of 76 nodes with 1 SCC. 10.01/3.59 10.01/3.59 10.01/3.59 10.01/3.59 10.01/3.59 10.01/3.59 ---------------------------------------- 10.01/3.59 10.01/3.59 (5) JBCNonTerm (COMPLETE) 10.01/3.59 Constructed a run with a repetition. States 5 and 56 are repetitions (when considering only the interesting positions [lv_0_0, lv_0_1]). 10.01/3.59 10.01/3.59 0: 10.01/3.59 a78([java.lang.String...]): length 20 -->{java.lang.Object...} 10.01/3.59 YES: (JL1) 10.01/3.59 1: 10.01/3.59 a78([java.lang.String...]): length 20 -->{java.lang.Object...} 10.01/3.59 YES: (JL1) 10.01/3.59 2: 10.01/3.59 YES: (JL1) 10.01/3.59 3: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 4: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 5: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 6: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 7: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 8: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 9: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 10: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 11: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 12: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 13: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 14: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 15: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 16: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 17: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 18: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 19: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 20: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 21: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 22: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 23: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 24: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 25: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 26: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 27: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 28: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 29: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 30: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 31: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 32: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 33: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 34: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 35: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 36: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 37: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 38: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 39: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 40: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 41: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 42: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 43: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 44: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 45: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 46: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 47: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 48: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 49: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 50: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 51: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 52: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 53: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 54: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 55: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 56: 10.01/3.59 10.01/3.59 YES: (JL1) 10.01/3.59 10.01/3.59 ---------------------------------------- 10.01/3.59 10.01/3.59 (6) 10.01/3.59 NO 10.01/3.62 EOF