use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class ReflectionObjTagITCase method testBoxing.
@Test
public void testBoxing() {
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
list.add(i);
}
int val = 18;
for (int i = 0; i < list.size(); i++) {
MultiTainter.taintedObject(list.get(i), new Taint("collection"));
}
val = MultiTainter.taintedInt(val, "int");
int newVal = list.get(0) + val;
list.add(newVal);
for (int i = 0; i < list.size(); i++) {
Integer obj = list.get(i);
int objVal = list.get(i);
Taint objTaint = MultiTainter.getTaint(obj);
Taint valTaint = MultiTainter.getTaint(objVal);
assertEquals(objTaint.lbl, valTaint.lbl);
}
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class FakeEnumTest method main.
public static void main(String[] args) {
System.out.println(Foo.A);
String a = "A";
MultiTainter.taintedObject(a, new Taint("Z"));
;
System.out.println(Foo.valueOf(a));
System.out.println(MultiTainter.getTaint(Foo.valueOf(a)));
System.out.println(MultiTainter.getTaint(a));
System.out.println(MultiTainter.getTaint(Foo.A));
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class ReflectionImplicitITCase method testBoxing.
@Test
public void testBoxing() {
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < 5; i++) {
list.add(i);
}
int val = 18;
for (int i = 0; i < list.size(); i++) {
MultiTainter.taintedObject(list.get(i), new Taint("collection"));
}
val = MultiTainter.taintedInt(val, "int");
int newVal = list.get(0) + val;
Integer z = Integer.valueOf(newVal);
list.add(newVal);
for (int i = 0; i < list.size(); i++) {
Integer obj = list.get(i);
int objVal = list.get(i);
Taint objTaint = MultiTainter.getTaint(obj);
Taint valTaint = MultiTainter.getTaint(objVal);
assertEquals(objTaint.lbl, valTaint.lbl);
}
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class StringConcatObjTagITCase method testLDCStringConcat.
@Test
public void testLDCStringConcat() throws Exception {
String str1 = "abcdefg";
((TaintedWithObjTag) ((Object) str1)).setPHOSPHOR_TAG(new Taint("sensitive"));
String str2 = "a" + str1;
assertTrue(MultiTainter.getTaint(str2.charAt(0)) == null);
assertTrue(MultiTainter.getTaint(str2.charAt(1)) != null);
}
use of edu.columbia.cs.psl.phosphor.runtime.Taint in project phosphor by gmu-swe.
the class StringConcatObjTagITCase method testConcateStringInt.
@Test
public void testConcateStringInt() {
String s = "abc";
int val = 98;
MultiTainter.taintedObject(s, new Taint("string"));
val = MultiTainter.taintedInt(val, "int");
String concate = s + val;
for (int i = 0; i < concate.length(); i++) {
char c = concate.charAt(i);
Taint ct = MultiTainter.getTaint(c);
if (i < 3) {
assertEquals(ct.lbl, "string");
} else {
assertEquals(ct.lbl, "int");
}
}
}
Aggregations