Search in sources :

Example 6 with Taint

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);
}
Also used : Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Test(org.junit.Test)

Example 7 with Taint

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);
}
Also used : Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Test(org.junit.Test)

Example 8 with Taint

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);
}
Also used : Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Test(org.junit.Test)

Example 9 with Taint

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);
}
Also used : Taint(edu.columbia.cs.psl.phosphor.runtime.Taint)

Example 10 with Taint

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));
}
Also used : Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Taint(edu.columbia.cs.psl.phosphor.runtime.Taint) Test(org.junit.Test)

Aggregations

Taint (edu.columbia.cs.psl.phosphor.runtime.Taint)30 Test (org.junit.Test)20 TaintedWithObjTag (edu.columbia.cs.psl.phosphor.struct.TaintedWithObjTag)7 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)1