use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class ArrayLengthObjTagITCase method testArrayLengthTainted2DPrimArray.
@Test
public void testArrayLengthTainted2DPrimArray() throws Exception {
int i = MultiTainter.taintedInt(5, "foo");
Taint t = MultiTainter.getTaint(i);
int[][] ar = new int[i][i];
Taint r = MultiTainter.getTaint(ar.length);
if (Configuration.ARRAY_LENGTH_TRACKING)
assertEquals(t.lbl, r.lbl);
else
assertNull(r);
r = MultiTainter.getTaint(ar[0].length);
if (Configuration.ARRAY_LENGTH_TRACKING)
assertEquals(t.lbl, r.lbl);
else
assertNull(r);
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class ArrayLengthObjTagITCase method testArrayLengthTainted2DObjArray.
@Test
public void testArrayLengthTainted2DObjArray() throws Exception {
int i = MultiTainter.taintedInt(5, "foo");
Taint t = MultiTainter.getTaint(i);
String[][] ar = new String[i][i];
Taint r = MultiTainter.getTaint(ar.length);
if (Configuration.ARRAY_LENGTH_TRACKING)
assertEquals(t.lbl, r.lbl);
else
assertNull(r);
r = MultiTainter.getTaint(ar[0].length);
if (Configuration.ARRAY_LENGTH_TRACKING)
assertEquals(t.lbl, r.lbl);
else
assertNull(r);
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class ArrayLengthObjTagITCase method testArrayLengthTaintedObjArray.
@Test
public void testArrayLengthTaintedObjArray() throws Exception {
int i = MultiTainter.taintedInt(5, "foo");
Taint t = MultiTainter.getTaint(i);
String[] ar = new String[i];
Taint r = MultiTainter.getTaint(ar.length);
if (Configuration.ARRAY_LENGTH_TRACKING)
assertEquals(t.lbl, r.lbl);
else
assertNull(r);
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class BaseMultiTaintClass method assertNonNullTaint.
public static void assertNonNullTaint(Object obj) {
Taint t = (Taint) ((TaintedWithObjTag) obj).getPHOSPHOR_TAG();
assertNotNull(obj);
if (t == null || (t.lbl == null && t.hasNoDependencies()))
fail("Expected non-null taint - got: " + t);
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class GetSetTaintObjTagITCase method testToString.
@Test
public void testToString() {
boolean z = MultiTainter.taintedBoolean(false, new Taint(5));
byte b = MultiTainter.taintedByte((byte) 4, new Taint(5));
char c = MultiTainter.taintedChar('a', new Taint(5));
int i = MultiTainter.taintedInt(4, new Taint(5));
short s = MultiTainter.taintedShort((short) 5, new Taint(5));
long l = MultiTainter.taintedLong((long) 5, new Taint(5));
float f = MultiTainter.taintedFloat(4f, new Taint(5));
double d = MultiTainter.taintedDouble(4d, new Taint(5));
assertNonNullTaint(Boolean.toString(z));
assertNonNullTaint(Byte.toString(b));
assertNonNullTaint(Character.toString(c));
assertNonNullTaint(Short.toString(s));
assertNonNullTaint(Long.toString(l));
assertNonNullTaint(Float.toString(f));
assertNonNullTaint(Double.toString(d));
assertNonNullTaint(Integer.toString(i));
}
Aggregations