Spaces
Explore
Communities
Statistics
Reports
Cluster
Status
Help
Java_Bytecode pair #487571322
details
property
value
status
complete
benchmark
LoopingNonterm.jar
ran by
Akihisa Yamada
cpu timeout
1200 seconds
wallclock timeout
300 seconds
memory limit
137438953472 bytes
execution host
n144.star.cs.uiowa.edu
space
BSOG_FoVeOOS_11
run statistics
property
value
solver
AProVE
configuration
standard
runtime (wallclock)
2.36252689362 seconds
cpu usage
4.882411024
max memory
3.3839104E8
stage attributes
key
value
output-size
7225
starexec-result
NO
output
/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty termination of the given Bare JBC problem could be disproven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] (2) JBC problem (3) JBCNonTerm [COMPLETE, 325 ms] (4) NO ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class LoopingNonterm { public static void main(String[] a) { int i = 0; int j = a.length; while (i < j) { i += a[i].length(); } } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class LoopingNonterm { public static void main(String[] a) { int i = 0; int j = a.length; while (i < j) { i += a[i].length(); } } } ---------------------------------------- (3) JBCNonTerm (COMPLETE) Constructed a run with a repetition. States 5 and 19 are repetitions (when considering only the interesting positions []). 0:<LoopingNonterm.main||0: push 0||a: a28|| -> a28([java.lang.String...]): {o27} -->{java.lang.Object...} o27!: String(count=0, hash=#, offset=[0,+inf), value=o28?) -->{java.lang.Object...} o28:: [CHAR] -->{java.lang.Object...} a28-><-o28 a28-><-o27 YES: (JL1) 1:<LoopingNonterm.main||1: store INT to i||a: a28||0> a28([java.lang.String...]): {o27} -->{java.lang.Object...} o27!: String(count=0, hash=#, offset=[0,+inf), value=o28?) -->{java.lang.Object...} o28:: [CHAR] -->{java.lang.Object...} a28-><-o28 a28-><-o27 YES: (JL1) 2:<LoopingNonterm.main||2: load ADDR a||a: a28, i: 0|| -> a28([java.lang.String...]): {o27} -->{java.lang.Object...} o27!: String(count=0, hash=#, offset=[0,+inf), value=o28?) -->{java.lang.Object...} o28:: [CHAR] -->{java.lang.Object...} a28-><-o28 a28-><-o27 YES: (JL1) 3:<LoopingNonterm.main||3: arraylength||a: a28, i: 0||a28> a28([java.lang.String...]): {o27} -->{java.lang.Object...} o27!: String(count=0, hash=#, offset=[0,+inf), value=o28?) -->{java.lang.Object...} o28:: [CHAR] -->{java.lang.Object...} a28-><-o28 a28-><-o27 YES: (JL1) 4:<LoopingNonterm.main||4: store INT to j||a: a28, i: 0||1> a28([java.lang.String...]): {o27} -->{java.lang.Object...} o27!: String(count=0, hash=#, offset=[0,+inf), value=o28?) -->{java.lang.Object...} o28:: [CHAR] -->{java.lang.Object...} a28-><-o28 a28-><-o27 YES: (JL1) 5:<LoopingNonterm.main||5: load INT i||a: a28, i: 0, j: 1|| -> a28([java.lang.String...]): {o27} -->{java.lang.Object...}
popout
output may be truncated. 'popout' for the full output.
job log
popout
actions
all output
return to Java_Bytecode