Commit 76480379 authored by Joachim Müssig's avatar Joachim Müssig

create newest version of false positiv example 'mixtureLoops'

parent 50f4c070
......@@ -13,7 +13,7 @@ HE 4;
HE 5;
HE 6;
HE 9;
HE 239;
HE 244;
PS 3;
PS 4;
CF 4;
......@@ -23,7 +23,7 @@ CD 9;
CE 2;
CE 3;
CE 4;
CE 239;
CE 244;
}
EXIT 2 {
O exit;
......@@ -43,7 +43,7 @@ P 4;
S "MixtureWithLoop.java":0,0-0,0;
B "<exception>":-2;
Z 0;
CF 239: "exc";
CF 244: "exc";
PO 36;
}
FRMI 4 {
......@@ -55,7 +55,7 @@ S "MixtureWithLoop.java":0,0-0,0;
B "<param> 1":-2;
Z 0;
LD ["null"];
PS 239;
PS 244;
CF 5;
}
NORM 5 {
......@@ -80,13 +80,13 @@ B "MixtureWithLoop.main([Ljava/lang/String;)V":4;
Z 0;
HE 7;
HE 8;
HE 240;
HE 245;
PS 7;
PS 8;
CF 251;
CE 7;
CE 8;
CE 240;
CE 245;
CE 251;
CL 37: "virtual";
}
......@@ -98,11 +98,11 @@ P 4;
S "MixtureWithLoop.java":5,0-5,0;
B "<param> 0":-2;
Z 0;
PS 240;
PS 245;
CF 6;
CD 6;
SU 8;
SU 240;
SU 245;
PI 40;
}
ACTO 8 {
......@@ -214,7 +214,7 @@ P 4;
S "MixtureWithLoop.java":6,0-6,0;
B "MixtureWithLoop.main([Ljava/lang/String;)V":13;
Z 0;
CF 239;
CF 244;
}
ENTR 20 {
O entry;
......@@ -263,13 +263,13 @@ Z 0;
U "com.ibm.wala.FakeRootClass.fakeWorldClinit()V";
HE 24;
HE 25;
HE 243;
HE 241;
HE 248;
PS 24;
CF 248;
CD 25;
CE 24;
CE 243;
CE 241;
CE 248;
}
ACTO 24 {
......@@ -383,7 +383,7 @@ U "java.lang.Object.<init>()V";
HE 32;
HE 33;
HE 34;
HE 244;
HE 242;
HE 246;
HE 249;
PS 32;
......@@ -392,7 +392,7 @@ CF 249;
CD 34;
CE 32;
CE 33;
CE 244;
CE 242;
CE 246;
CE 249;
}
......@@ -404,7 +404,7 @@ P 5;
S "com/ibm/wala/FakeRootClass.java":0,0-0,0;
B "<param> 0":-2;
Z 0;
PS 244;
PS 242;
CF 31;
CD 31;
DD 249;
......@@ -431,13 +431,13 @@ B "com.ibm.wala.FakeRootClass.fakeRootMethod()V":-1;
Z 0;
HE 35;
HE 36;
HE 245;
HE 243;
PS 35;
PS 36;
CF 253;
CE 35;
CE 36;
CE 245;
CE 243;
CE 253;
CL 1: "virtual";
}
......@@ -449,7 +449,7 @@ P 5;
S "com/ibm/wala/FakeRootClass.java":0,0-0,0;
B "<param> 1":-2;
Z 0;
PS 245;
PS 243;
CF 34;
PI 4;
}
......@@ -478,7 +478,7 @@ HE 38;
HE 39;
HE 40;
HE 41;
HE 241;
HE 239;
PS 39;
PS 40;
CF 40;
......@@ -486,7 +486,7 @@ CD 41;
CE 38;
CE 39;
CE 40;
CE 241;
CE 239;
}
EXIT 38 {
O exit;
......@@ -506,7 +506,7 @@ P 6;
S "MixtureWithLoop.java":0,0-0,0;
B "<exception>":-2;
Z 0;
CF 241: "exc";
CF 239: "exc";
PO 8;
}
FRMI 40 {
......@@ -518,7 +518,7 @@ S "MixtureWithLoop.java":0,0-0,0;
B "<param> 0":-2;
Z 0;
LD ["null"];
PS 241;
PS 239;
CF 42;
DD 42;
}
......@@ -534,7 +534,7 @@ U "java.lang.Object.<init>()V";
HE 42;
HE 43;
HE 44;
HE 242;
HE 240;
HE 247;
HE 250;
PS 42;
......@@ -543,7 +543,7 @@ CF 250;
CD 44;
CE 42;
CE 43;
CE 242;
CE 240;
CE 247;
CE 250;
}
......@@ -555,7 +555,7 @@ P 6;
S "MixtureWithLoop.java":1,0-1,0;
B "<param> 0":-2;
Z 0;
PS 242;
PS 240;
CF 41;
CD 41;
DD 250;
......@@ -580,7 +580,7 @@ P 6;
S "MixtureWithLoop.java":1,0-1,0;
B "MixtureWithLoop.<init>()V":4;
Z 0;
CF 241;
CF 239;
}
ENTR 46 {
O entry;
......@@ -2322,36 +2322,14 @@ FRMO 239 {
O form-out;
V "[M] |0|UNIQ(code)";
T "I";
P 4;
S "MixtureWithLoop.java":0,0-0,0;
B "Ljava/lang/Object.code":-4;
Z 0;
CF 2;
PO 245;
}
ACTO 240 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
P 4;
S "MixtureWithLoop.java":5,0-5,0;
B "Ljava/lang/Object.code":-4;
Z 0;
CF 8;
DH 239;
}
FRMO 241 {
O form-out;
V "[M] |0|UNIQ(code)";
T "I";
P 6;
S "MixtureWithLoop.java":0,0-0,0;
B "Ljava/lang/Object.code":-4;
Z 0;
CF 38;
PO 240;
PO 245;
}
ACTO 242 {
ACTO 240 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
......@@ -2362,9 +2340,9 @@ Z 0;
CF 43: "exc";
CF 44;
DD 247;
DH 241;
DH 239;
}
ACTO 243 {
ACTO 241 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
......@@ -2375,7 +2353,7 @@ Z 0;
CF 24: "exc";
CF 25;
}
ACTO 244 {
ACTO 242 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
......@@ -2387,7 +2365,7 @@ CF 33: "exc";
CF 35;
DD 246;
}
ACTO 245 {
ACTO 243 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
......@@ -2398,6 +2376,28 @@ Z 0;
CF 21;
CF 36: "exc";
}
FRMO 244 {
O form-out;
V "[M] |0|UNIQ(code)";
T "I";
P 4;
S "MixtureWithLoop.java":0,0-0,0;
B "Ljava/lang/Object.code":-4;
Z 0;
CF 2;
PO 243;
}
ACTO 245 {
O act-out;
V "[M] |0|UNIQ(code)";
T "I";
P 4;
S "MixtureWithLoop.java":5,0-5,0;
B "Ljava/lang/Object.code":-4;
Z 0;
CF 8;
DH 244;
}
NORM 246 {
O compound;
V "immutable";
......@@ -2405,7 +2405,7 @@ P 5;
S "com/ibm/wala/FakeRootClass.java":0,0-0,0;
B "com.ibm.wala.FakeRootClass.fakeRootMethod()V":-1;
Z 0;
CF 244;
CF 242;
DD 25;
}
NORM 247 {
......@@ -2415,7 +2415,7 @@ P 6;
S "MixtureWithLoop.java":0,0-0,0;
B "MixtureWithLoop.<init>()V":-1;
Z 0;
CF 242;
CF 240;
DD 40;
}
NORM 248 {
......@@ -2425,9 +2425,9 @@ P 5;
S "com/ibm/wala/FakeRootClass.java":0,0-0,0;
B "com.ibm.wala.FakeRootClass.fakeRootMethod()V":-1;
Z 0;
CF 243;
CF 241;
DD 24;
DD 243;
DD 241;
}
NORM 249 {
O compound;
......@@ -2438,7 +2438,7 @@ B "com.ibm.wala.FakeRootClass.fakeRootMethod()V":-1;
Z 0;
CF 246;
DD 33;
DD 244;
DD 242;
}
NORM 250 {
O compound;
......@@ -2449,7 +2449,7 @@ B "MixtureWithLoop.<init>()V":-1;
Z 0;
CF 247;
DD 43;
DD 242;
DD 240;
}
NORM 251 {
O compound;
......@@ -2458,7 +2458,7 @@ P 4;
S "MixtureWithLoop.java":5,0-5,0;
B "MixtureWithLoop.main([Ljava/lang/String;)V":-9;
Z 0;
CF 240;
CF 245;
}
NORM 252 {
O compound;
......@@ -2478,7 +2478,7 @@ P 5;
S "com/ibm/wala/FakeRootClass.java":0,0-0,0;
B "com.ibm.wala.FakeRootClass.fakeRootMethod()V":-9;
Z 0;
CF 245;
CF 243;
}
NORM 254 {
O compound;
......
directoryPath : "/home/joachim/git/KeYJoana/keyjoana/testdata/FalsePositiveExamples/mixtureloops",
pathKeY : "dependencies/Key/KeY.jar",
javaClass : "",
pathToJar : "testdata/build/src.jar",
pathToJavaFile : "src/",
pathToSDG : "SDG/MixtureWithLoop.pdg",
entryMethod : "MixtureWithLoop",
annotationPath : "",
fullyAutomatic : true,
pathToSaver : "SDG/MixtureWithLoop.dispro",
sources : [{securityLevel : "high", description : {from : "programPart", programPart : "parameter <param> 1 of method int MixtureWithLoop.testMethod(int, int)"}}],
sinks : [{securityLevel : "low", description : {from : "programPart", programPart : "exit of method int MixtureWithLoop.testMethod(int, int)"}}]
\ No newline at end of file
public class MixtureWithLoop
{
public static void main ( String [ ] args )
{
new MixtureWithLoop ( ) . testMethod ( 1 , 2 ) ;
}
public int testMethod ( int high , int low )
{
int l = mixtureWithLoop ( low , high ) ;
return l ;
}
private int mixtureWithLoop ( int l , int h )
{
int x = arrayInsecure ( l , h ) ;
x = loopOverride ( l , x ) ;
x += arrayAccess ( x , h ) ;
x = justSet ( l , x ) ;
int y = loopOverride ( l , h ) ;
return x + y ;
}
public int loopOverride ( int l , int h )
{
int y = l ;
for ( int i = 0 ;
i < 5 ;
i ++ )
{
if ( i < 4 )
{
l = l + h ;
}
else
{
public static void main ( String [ ] args )
{
new MixtureWithLoop ( ) . testMethod ( 1 , 2 ) ;
}
public int testMethod ( int high , int low )
{
int l = mixtureWithLoop ( low , high ) ;
return l ;
}
private int mixtureWithLoop ( int l , int h )
{
int x = arrayInsecure ( l , h ) ;
x = loopOverride ( l , x ) ;
x += arrayAccess ( x , h ) ;
x = justSet ( l , x ) ;
int y = loopOverride ( l , h ) ;
return x + y ;
}
public int loopOverride ( int l , int h )
{
int y = l ;
for ( int i = 0 ;
i < 5 ;
i ++ )
{
if ( i < 4 )
{
l = l + h ;
}
else
{
assume(false);
l = y ;
}
}
return l ;
}
private int arrayInsecure ( int low , int high )
{
return 0 ;
}
private int arrayAccess ( int l , int h )
{
int [ ] array = new int [ 3 ] ;
array [ 0 ] = l ;
array [ 1 ] = h ;
array [ 2 ] = array [ 1 ] ;
return array [ 2 ] ;
}
private int justSet ( int l , int h )
{
int [ ] array = new int [ 5 ] ;
array [ 0 ] = 5 ;
array [ 1 ] = h ;
l = array [ 0 ] ;
return l ;
}
l = y ;
}
}
return l ;
}
private int arrayInsecure ( int low , int high )
{
return 0 ;
}
private int arrayAccess ( int l , int h )
{
int [ ] array = new int [ 3 ] ;
array [ 0 ] = l ;
array [ 1 ] = h ;
array [ 2 ] = array [ 1 ] ;
return array [ 2 ] ;
}
private int justSet ( int l , int h )
{
int [ ] array = new int [ 5 ] ;
array [ 0 ] = 5 ;
array [ 1 ] = h ;
l = array [ 0 ] ;
return l ;
}
/*@
@ requires true;
@ ensures b;
......
public class MixtureWithLoop
{
public static void main ( String [ ] args )
{
new MixtureWithLoop ( ) . testMethod ( 1 , 2 ) ;
}
public int testMethod ( int high , int low )
{
int l = mixtureWithLoop ( low , high ) ;
return l ;
}
private int mixtureWithLoop ( int l , int h )
{
int x = arrayInsecure ( l , h ) ;
x = loopOverride ( l , x ) ;
x += arrayAccess ( x , h ) ;
x = justSet ( l , x ) ;
int y = loopOverride ( l , h ) ;
return x + y ;
}
public int loopOverride ( int l , int h )
{
int y = l ;
for ( int i = 0 ;
i < 5 ;
i ++ )
{
if ( i < 4 )
{
l = l + h ;
}
else
{
l = y ;
}
}
return l ;
}
private int arrayInsecure ( int low , int high )
{
return 0 ;
}
private int arrayAccess ( int l , int h )
{
int [ ] array = new int [ 3 ] ;
array [ 0 ] = l ;
array [ 1 ] = h ;
array [ 2 ] = array [ 1 ] ;
return array [ 2 ] ;
}
private int justSet ( int l , int h )
{
int [ ] array = new int [ 5 ] ;
array [ 0 ] = 5 ;
array [ 1 ] = h ;
l = array [ 0 ] ;
return l ;
}
public static void main ( String [ ] args )
{
new MixtureWithLoop ( ) . testMethod ( 1 , 2 ) ;
}
public int testMethod ( int high , int low )
{
int l = mixtureWithLoop ( low , high ) ;
return l ;
}
private int mixtureWithLoop ( int l , int h )
{
int x = arrayInsecure ( l , h ) ;
x = loopOverride ( l , x ) ;
x += arrayAccess ( x , h ) ;
x = justSet ( l , x ) ;
int y = loopOverride ( l , h ) ;
return x + y ;
}
public int loopOverride ( int l , int h )
{
int y = l ;
for ( int i = 0 ;
i < 5 ;
i ++ )
{
if ( i < 4 )
{
l = l + h ;
}
else
{
l = y ;
}
}
return l ;
}
private int arrayInsecure ( int low , int high )
{
return 0 ;
}
private int arrayAccess ( int l , int h )
{
int [ ] array = new int [ 3 ] ;
array [ 0 ] = l ;
array [ 1 ] = h ;
array [ 2 ] = array [ 1 ] ;
return array [ 2 ] ;
}
private int justSet ( int l , int h )
{
int [ ] array = new int [ 5 ] ;
array [ 0 ] = 5 ;
array [ 1 ] = h ;
l = array [ 0 ] ;
return l ;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment