Skip to content

Commit d6bcec5

Browse files
committed
Merge branch 'develop' of github.com:secure-software-engineering/FlowDroid into develop
2 parents f071bb1 + 530e0e2 commit d6bcec5

File tree

61 files changed

+597
-143
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+597
-143
lines changed

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/AliasingTest.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@
1818

1919
import soot.jimple.infoflow.results.InfoflowResults;
2020

21-
public class AliasingTest extends JUnitTests {
21+
public abstract class AliasingTest extends JUnitTests {
2222

2323
@Test(timeout=300000)
2424
public void runTestFlowSensitivity1() throws IOException, XmlPullParserException {
25+
int expected = 0;
26+
// See also HeapTests#innerFieldReductionTestNegative
27+
if (mode == TestResultMode.FLOWDROID_BACKWARDS)
28+
expected = 1;
29+
2530
InfoflowResults res = analyzeAPKFile("Aliasing/FlowSensitivity1.apk");
2631
if (res != null)
27-
Assert.assertEquals(0, res.size());
32+
Assert.assertEquals(expected, res.size());
2833
}
2934

3035
@Test(timeout=300000)

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/AndroidSpecificTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import soot.jimple.infoflow.results.InfoflowResults;
2020

21-
public class AndroidSpecificTest extends JUnitTests {
21+
public abstract class AndroidSpecificTest extends JUnitTests {
2222

2323
@Test // (timeout=300000)
2424
public void runTestApplicationModeling1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/ArrayAndListTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import soot.jimple.infoflow.results.InfoflowResults;
2020

21-
public class ArrayAndListTest extends JUnitTests {
21+
public abstract class ArrayAndListTest extends JUnitTests {
2222

2323
@Test(timeout=300000)
2424
public void runTestArrayAccess1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/CallbackTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import soot.jimple.infoflow.android.InfoflowAndroidConfiguration;
2323
import soot.jimple.infoflow.results.InfoflowResults;
2424

25-
public class CallbackTest extends JUnitTests {
25+
public abstract class CallbackTest extends JUnitTests {
2626

2727
@Test(timeout = 300000)
2828
public void runTestAnonymousClass1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/EmulatorDetectionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import soot.jimple.infoflow.results.InfoflowResults;
2020

21-
public class EmulatorDetectionTest extends JUnitTests {
21+
public abstract class EmulatorDetectionTest extends JUnitTests {
2222

2323
@Test(timeout=300000)
2424
public void runTestBattery1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/FieldAndObjectSensitivityTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import soot.jimple.infoflow.results.InfoflowResults;
2020

21-
public class FieldAndObjectSensitivityTest extends JUnitTests {
21+
public abstract class FieldAndObjectSensitivityTest extends JUnitTests {
2222

2323
@Test(timeout=300000)
2424
public void runTestFieldSensitivity1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/FieldSourceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import soot.jimple.infoflow.results.InfoflowResults;
1010

11-
public class FieldSourceTest extends JUnitTests {
11+
public abstract class FieldSourceTest extends JUnitTests {
1212

1313
@Test
1414
public void runTestFlowSensitivity1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/GeneralJavaTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import soot.jimple.infoflow.results.InfoflowResults;
2121

22-
public class GeneralJavaTest extends JUnitTests {
22+
public abstract class GeneralJavaTest extends JUnitTests {
2323

2424
@Test(timeout=300000)
2525
public void runTestClone1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/ImplicitFlowTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import soot.jimple.infoflow.results.InfoflowResults;
2121

2222
//@Ignore("not implemented yet")
23-
public class ImplicitFlowTest extends JUnitTests {
23+
public abstract class ImplicitFlowTest extends JUnitTests {
2424

2525
@Test(timeout = 300000)
2626
public void runTestImplicitFlow1() throws IOException, XmlPullParserException {

soot-infoflow-android/test/soot/jimple/infoflow/android/test/droidBench/InterAppCommunicationTest.java

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,70 +9,108 @@
99
import java.io.IOException;
1010

1111
@Ignore("Buggy, call graph problem")
12-
public class InterAppCommunicationTest extends JUnitTests {
12+
public abstract class InterAppCommunicationTest extends JUnitTests {
1313
@Test(timeout=300000)
1414
public void runTestEchoer() throws IOException, XmlPullParserException {
15+
int expected = 3;
16+
if (mode != TestResultMode.DROIDBENCH)
17+
expected = 0;
1518
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Echoer.apk");
16-
Assert.assertEquals(3, res.size());
19+
Assert.assertEquals(expected, res.size());
1720
}
1821

1922
@Test(timeout=300000)
2023
public void runTestSendSMS() throws IOException, XmlPullParserException {
24+
int expected = 3;
25+
if (mode != TestResultMode.DROIDBENCH)
26+
expected = 2;
2127
InfoflowResults res = analyzeAPKFile("InterAppCommunication/SendSMS.apk");
22-
Assert.assertEquals(3, res.size());
28+
Assert.assertEquals(expected, res.size());
2329
}
2430

2531
@Test(timeout=300000)
2632
public void runTestStartActivityForResult1() throws IOException, XmlPullParserException {
33+
int expected = 6;
34+
if (mode != TestResultMode.DROIDBENCH)
35+
expected = 2;
2736
InfoflowResults res = analyzeAPKFile("InterAppCommunication/StartActivityForResult1.apk");
28-
Assert.assertEquals(6, res.size());
37+
Assert.assertEquals(expected, res.size());
2938
}
3039

3140
@Test(timeout=300000)
3241
public void runTestCollector() throws IOException, XmlPullParserException {
42+
int expected = 2;
43+
if (mode != TestResultMode.DROIDBENCH)
44+
expected = 0;
3345
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Collector/Collector.apk");
34-
Assert.assertEquals(2, res.size());
46+
Assert.assertEquals(expected, res.size());
3547
}
3648

3749
@Test(timeout=300000)
3850
public void runTestDeviceId_Broadcast1() throws IOException, XmlPullParserException {
51+
int expected = 1;
52+
if (mode != TestResultMode.DROIDBENCH)
53+
expected = 0;
3954
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Device Id leakage/DeviceId_Broadcast1.apk");
40-
Assert.assertEquals(1, res.size());
55+
Assert.assertEquals(expected, res.size());
4156
}
4257

4358
@Test(timeout=300000)
4459
public void runTestDeviceId_contentProvider1() throws IOException, XmlPullParserException {
60+
int expected = 1;
61+
// TODO: where are the false positives from?https://github.com/secure-software-engineering/DroidBench
62+
63+
if (mode == TestResultMode.FLOWDROID_BACKWARDS)
64+
expected = 2;
65+
else if (mode == TestResultMode.FLOWDROID_FORWARDS) {
66+
expected = 3;
67+
}
4568
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Device Id leakage/DeviceId_contentProvider1.apk");
46-
Assert.assertEquals(2, res.size());
69+
Assert.assertEquals(expected, res.size());
4770
}
4871

4972
@Test(timeout=300000)
5073
public void runTestDeviceId_OrderedIntent1() throws IOException, XmlPullParserException {
74+
int expected = 1;
75+
if (mode != TestResultMode.DROIDBENCH)
76+
expected = 0;
5177
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Device Id leakage/DeviceId_OrderedIntent1.apk");
52-
Assert.assertEquals(1, res.size());
78+
Assert.assertEquals(expected, res.size());
5379
}
5480

5581
@Test(timeout=300000)
5682
public void runTestDeviceId_Service() throws IOException, XmlPullParserException {
83+
int expected = 1;
84+
if (mode != TestResultMode.DROIDBENCH)
85+
expected = 0;
5786
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Device Id leakage/DeviceId_Service1.apk");
58-
Assert.assertEquals(1, res.size());
87+
Assert.assertEquals(expected, res.size());
5988
}
6089

6190
@Test(timeout=300000)
6291
public void runTestLocation1() throws IOException, XmlPullParserException {
92+
int expected = 2;
93+
if (mode != TestResultMode.DROIDBENCH)
94+
expected = 0;
6395
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Location leakage/Location1.apk");
64-
Assert.assertEquals(2, res.size());
96+
Assert.assertEquals(expected, res.size());
6597
}
6698

6799
@Test(timeout=300000)
68100
public void runTestLocation1_Broadcast() throws IOException, XmlPullParserException {
101+
int expected = 2;
102+
if (mode != TestResultMode.DROIDBENCH)
103+
expected = 0;
69104
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Location leakage/Location_Broadcast1.apk");
70-
Assert.assertEquals(2, res.size());
105+
Assert.assertEquals(expected, res.size());
71106
}
72107

73108
@Test(timeout=300000)
74109
public void runTestLocation_Service1() throws IOException, XmlPullParserException {
110+
int expected = 2;
111+
if (mode != TestResultMode.DROIDBENCH)
112+
expected = 0;
75113
InfoflowResults res = analyzeAPKFile("InterAppCommunication/Location leakage/Location_Service1.apk");
76-
Assert.assertEquals(2, res.size());
114+
Assert.assertEquals(expected, res.size());
77115
}
78116
}

0 commit comments

Comments
 (0)