Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Java_Bytecode 2019-04-01 06.50 pair #433315540
details
property
value
status
complete
benchmark
NO_12.jar
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n072.star.cs.uiowa.edu
space
Julia_11_iterative
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.29903 seconds
cpu usage
5.31578
user time
5.01966
system time
0.296127
max virtual memory
1.9277452E7
max residence set size
415932.0
stage attributes
key
value
starexec-result
NO
output
5.04/2.25 NO 5.04/2.26 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 5.04/2.26 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.04/2.26 5.04/2.26 5.04/2.26 termination of the given Bare JBC problem could be disproven: 5.04/2.26 5.04/2.26 (0) Bare JBC problem 5.04/2.26 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 5.04/2.26 (2) JBC problem 5.04/2.26 (3) JBCToGraph [EQUIVALENT, 279 ms] 5.04/2.26 (4) JBCTerminationGraph 5.04/2.26 (5) JBCNonTerm [COMPLETE, 98 ms] 5.04/2.26 (6) NO 5.04/2.26 5.04/2.26 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (0) 5.04/2.26 Obligation: 5.04/2.26 need to prove termination of the following program: 5.04/2.26 public class NO_12 { 5.04/2.26 public static void main(String args[]) { 5.04/2.26 int j = 0; 5.04/2.26 for (int i = 0; i <= j; i++) 5.04/2.26 if (j-i < 1) j += 2; 5.04/2.26 } 5.04/2.26 } 5.04/2.26 5.04/2.26 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (1) BareJBCToJBCProof (EQUIVALENT) 5.04/2.26 initialized classpath 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (2) 5.04/2.26 Obligation: 5.04/2.26 need to prove termination of the following program: 5.04/2.26 public class NO_12 { 5.04/2.26 public static void main(String args[]) { 5.04/2.26 int j = 0; 5.04/2.26 for (int i = 0; i <= j; i++) 5.04/2.26 if (j-i < 1) j += 2; 5.04/2.26 } 5.04/2.26 } 5.04/2.26 5.04/2.26 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (3) JBCToGraph (EQUIVALENT) 5.04/2.26 Constructed TerminationGraph. 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (4) 5.04/2.26 Obligation: 5.04/2.26 Termination Graph based on JBC Program: 5.04/2.26 NO_12.main([Ljava/lang/String;)V: Graph of 30 nodes with 1 SCC. 5.04/2.26 5.04/2.26 5.04/2.26 5.04/2.26 5.04/2.26 5.04/2.26 ---------------------------------------- 5.04/2.26 5.04/2.26 (5) JBCNonTerm (COMPLETE) 5.04/2.26 Reached a loop using the following run: 5.04/2.26 5.04/2.26 0:<NO_12.main||0: push 0|| - || -> 5.04/2.26 YES: (JL1) 5.04/2.26 1:<NO_12.main||1: store INT to #1|| - ||0> 5.04/2.26 YES: (JL1) 5.04/2.26 2:<NO_12.main||2: push 0||#1: 0|| -> 5.04/2.26 YES: (JL1) 5.04/2.26 3:<NO_12.main||3: store INT to #2||#1: 0||0> 5.04/2.26 YES: (JL1) 5.04/2.26 4:<NO_12.main||4: load INT #2||#1: 0, #2: 0|| -> 5.04/2.26 YES: (JL1) 5.04/2.26 Start state of loop: 5.04/2.26 5.04/2.26 [o30(lv_0_0)] 5.04/2.26 <NO_12.main||4: load INT #2||#1: i35, #2: i36|| -> 5.04/2.26 o30([java.lang.String...]): Object() -->{java.lang.Object...} 5.04/2.26 i35: [0,+inf)(l3) 5.04/2.26 i36: [0,+inf)(l5) 5.04/2.26 YES: (JL1) 5.04/2.26 5.04/2.26 5.04/2.26 In the loop head node, references [i36, i35] were interesting. 5.04/2.26 5.04/2.26 All methods calls in the loop body are side-effect free, hence they can be ignored. 5.04/2.26 5.04/2.26 By SMT, we could prove 5.04/2.26 5.04/2.26 ((0 <= initial_i35 and 0 <= initial_i36) and ((((path1_i39 = (path1_i35 - path1_i36) and path1_i39 = path1_i40 and path1_i42 = (path1_i36 + 1) and path1_i35 = res_i35 and path1_i42 = res_i36 and path1_i35 = initial_i35 and path1_i36 = initial_i36) and (path1_i36 <= path1_i35 and path1_i36 <= path1_i35 and T and 1 = 1 and path1_i40 >= 1)) or ((path2_i39 = (path2_i35 - path2_i36) and path2_i41 = (path2_i35 + 2) and path2_i43 = (path2_i36 + 1) and path2_i41 = res_i35 and path2_i43 = res_i36 and path2_i35 = initial_i35 and path2_i36 = initial_i36) and (path2_i36 <= path2_i35 and path2_i36 <= path2_i35 and path2_i39 = 0 and path2_i39 = 0 and 1 = 1))) and (((res1_i39 = (res1_i35 - res1_i36) and res1_i39 = res1_i40 and res1_i42 = (res1_i36 + 1) and res_i35 = res1_i35 and res_i36 = res1_i36) and !(res1_i36 <= res1_i35 and res1_i36 <= res1_i35 and T and 1 = 1 and res1_i40 >= 1)) and ((res2_i39 = (res2_i35 - res2_i36) and res2_i41 = (res2_i35 + 2) and res2_i43 = (res2_i36 + 1) and res_i35 = res2_i35 and res_i36 = res2_i36) and !(res2_i36 <= res2_i35 and res2_i36 <= res2_i35 and res2_i39 = 0 and res2_i39 = 0 and 1 = 1))))) 5.04/2.27 5.04/2.27 to be UNSAT. Consequently, the loop will not terminate. 5.04/2.27 ---------------------------------------- 5.04/2.27 5.04/2.27 (6)
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Java_Bytecode 2019-04-01 06.50