(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_24 (Apple Inc.)
Main-Class: Continue
/**
* A loop using the <tt>continue</tt> statement before making the loop
* progress.
*
* The call to <tt>main()</tt> does not terminate.
*
* Julia + BinTerm cannot prove that the call to <tt>main()</tt> terminates.
*
* @author <A HREF="mailto:fausto.spoto@univr.it">Fausto Spoto</A>
*/
public class Continue {
public static void main(String[] args) {
int i = 0;
while (i < 20) {
if (i <= 10) continue;
i++;
}
}
}
(1) JBCNonTerm (EQUIVALENT transformation)
Constructed a run with a repetition. States 2 and 9 are repetitions.
0:
<Continue.main||0: push 0|| - || ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
1:
<Continue.main||1: store INT to #1|| - ||0>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
2:
<Continue.main||2: load INT #1||#1: 0|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
3:
<Continue.main||3: push 20||#1: 0||0>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
4:
<Continue.main||5: GE||#1: 0||0, 20>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
5:
<Continue.main||8: load INT #1||#1: 0|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
6:
<Continue.main||9: push 10||#1: 0||0>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
7:
<Continue.main||11: GT||#1: 0||0, 10>
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
8:
<Continue.main||14: jmp||#1: 0|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()
9:
<Continue.main||2: load INT #1||#1: 0|| ->
String.serialVersionUID: -6849794470754667710L
String.serialPersistentFields: a3
String.CASE_INSENSITIVE_ORDER: o2
String$CaseInsensitiveComparator.serialVersionUID: 8575799808933029326L
RuntimeException.serialVersionUID: -7034897190745766939L
Exception.serialVersionUID: -3387516993124229948L
Throwable.serialVersionUID: -3042686055658047285L
a2([java.lang.String...]): length 0
a3([java.io.ObjectStreamField|]): length 0
o2!: String$CaseInsensitiveComparator()