7eb0d3eeef7f0e114768d06f3f4bbd9b13e8cb69
[pingpong.git] / Code / Projects / PacketLevelSignatureExtractor / execute_layer3_smarthome_all_detection_results_analysis.sh
1 #!/bin/bash
2
3 # Base directory where the smarthome evaluation traces and timestamp files are stored,
4 # (i.e., /some/arbitrary/local/path/experimental_result/smarthome)
5 TIMESTAMPS_BASE_DIR=$1
6 readonly TIMESTAMPS_BASE_DIR
7
8 # Base directory for the detection results files for the smarthome experiment
9 RESULTS_BASE_DIR=$2
10 readonly RESULTS_BASE_DIR
11
12
13
14 # ==================================================== ARLO CAMERA =====================================================
15 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/arlo-camera/timestamps/arlo-camera-smarthome-nov-15-2018.timestamps"
16 RESULTS_FILE="$RESULTS_BASE_DIR/arlo-camera/arlo-camera.eth0.detection.pcap___phone-side.detectionresults"
17 # Put the analysis results in the same folder as the detection results.
18 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
19 EXACT_MATCH="true"
20
21
22 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
23 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
24 # ======================================================================================================================
25
26
27
28 # ================================================= BLOSSOM SPRINKLER ==================================================
29 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/blossom-sprinkler/timestamps/blossom-sprinkler-smarthome-jan-14-2019.timestamps"
30
31 # DEVICE SIDE
32 RESULTS_FILE="$RESULTS_BASE_DIR/blossom-sprinkler/blossom-sprinkler.eth0.detection.pcap___device-side.detectionresults"
33 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
34 EXACT_MATCH="false"
35 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
36 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
37
38 # PHONE SIDE
39 RESULTS_FILE="$RESULTS_BASE_DIR/blossom-sprinkler/blossom-sprinkler.eth0.detection.pcap___phone-side.detectionresults"
40 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
41 EXACT_MATCH="false"
42 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
43 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
44 # ======================================================================================================================
45
46
47
48 # ==================================================== D-LINK PLUG =====================================================
49 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/dlink-plug/timestamps/dlink-plug-smarthome-nov-8-2018.timestamps"
50
51 # DEVICE SIDE
52 # This one is going to generate 95 FPs because every event is counted twice (same signatures for ON and OFF).
53 RESULTS_FILE="$RESULTS_BASE_DIR/dlink-plug/dlink-plug.eth0.detection.pcap___device-side.detectionresults"
54 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
55 EXACT_MATCH="true"
56 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
57 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
58
59 # PHONE SIDE
60 RESULTS_FILE="$RESULTS_BASE_DIR/dlink-plug/dlink-plug.eth0.detection.pcap___phone-side.detectionresults"
61 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
62 EXACT_MATCH="true"
63 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
64 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
65 # ======================================================================================================================
66
67
68
69 # ==================================================== D-LINK SIREN ====================================================
70 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/dlink-siren/timestamps/dlink-siren-smarthome-nov-10-2018.timestamps"
71
72 #PHONE SIDE
73 RESULTS_FILE="$RESULTS_BASE_DIR/dlink-siren/dlink-siren.eth0.detection.pcap___phone-side.detectionresults"
74 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
75 EXACT_MATCH="true"
76 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
77 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
78 # ======================================================================================================================
79
80
81
82 # ===================================================== HUE BULB =======================================================
83 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/hue-bulb/timestamps/hue-bulb-smarthome-nov-20-2018.timestamps"
84
85 # Has no device side signature.
86
87 # PHONE SIDE
88 RESULTS_FILE="$RESULTS_BASE_DIR/hue-bulb/hue-bulb.eth0.detection.pcap___phone-side.detectionresults"
89 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
90 EXACT_MATCH="true"
91 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
92 # Note: Hue bulb's signature was gone after September/October 2018, perhaps due to some firmware update.
93 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
94 # ======================================================================================================================
95
96
97
98 # ================================================= KWIKSET DOORLOCK ===================================================
99 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/kwikset-doorlock/timestamps/kwikset-doorlock-smarthome-nov-10-2018.timestamps"
100
101 # Has no device side signature.
102
103 # PHONE SIDE
104 RESULTS_FILE="$RESULTS_BASE_DIR/kwikset-doorlock/kwikset-doorlock.eth0.detection.pcap___phone-side.detectionresults"
105 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
106 EXACT_MATCH="true"
107 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
108 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
109 # ======================================================================================================================
110
111
112
113 # ================================================= NEST THERMOSTAT ====================================================
114 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/nest-thermostat/timestamps/nest-thermostat-smarthome-nov-16-2018.timestamps"
115
116 # Has no device side signature.
117
118 # PHONE SIDE
119 RESULTS_FILE="$RESULTS_BASE_DIR/nest-thermostat/nest-thermostat.eth0.detection.pcap___phone-side.detectionresults"
120 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
121 EXACT_MATCH="true"
122 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
123 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
124 # ======================================================================================================================
125
126
127
128 # ====================================================== ST PLUG =======================================================
129 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/st-plug/timestamps/st-plug-smarthome-nov-13-2018.timestamps"
130
131 # Has no device side signature.
132
133 # PHONE SIDE
134 RESULTS_FILE="$RESULTS_BASE_DIR/st-plug/st-plug.eth0.detection.pcap___phone-side.detectionresults"
135 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
136 EXACT_MATCH="true"
137 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
138 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
139 # ======================================================================================================================
140
141
142
143 # ==================================================== TP-LINK BULB ====================================================
144 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-bulb/timestamps/tplink-bulb-smarthome-nov-19-2018.timestamps"
145
146 # Has no device side signature.
147
148 # PHONE SIDE
149 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-bulb/tplink-bulb.wlan1.wan-detection.pcap___phone-side.detectionresults"
150 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
151 EXACT_MATCH="true"
152 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
153 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
154 # ======================================================================================================================
155
156
157
158 # ==================================================== TP-LINK PLUG ====================================================
159 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-plug/timestamps/tplink-plug-smarthome-nov-9-2018.timestamps"
160
161 # DEVICE SIDE
162 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-plug/tplink-plug.wlan1.wan-detection.pcap___device-side.detectionresults"
163 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
164 EXACT_MATCH="true"
165 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
166 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
167
168 # DEVICE SIDE OUTBOUND
169 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-plug/tplink-plug.eth0.detection.pcap___device-side-outbound.detectionresults"
170 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
171 EXACT_MATCH="true"
172 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
173 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
174 # ======================================================================================================================
175
176
177
178 # ================================================== WEMO INSIGHT PLUG =================================================
179 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/wemo-insight-plug/timestamps/wemo-insight-plug-smarthome-nov-22-2018.timestamps"
180
181 # Has no device side signature.
182
183 # PHONE SIDE
184 # This one is going to generate >100 FPs because every event is counted twice (same signatures for ON and OFF).
185 RESULTS_FILE="$RESULTS_BASE_DIR/wemo-insight-plug/wemo-insight-plug.wlan1.wan-detection.pcap___phone-side.detectionresults"
186 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
187 EXACT_MATCH="true"
188 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
189 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
190 # ======================================================================================================================
191
192
193
194 # ===================================================== WEMO PLUG ======================================================
195 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/wemo-plug/timestamps/wemo-plug-smarthome-nov-21-2018.timestamps"
196
197 # Has no device side signature.
198
199 # PHONE SIDE
200 # This one is going to generate >100 FPs because every event is counted twice (same signatures for ON and OFF).
201 RESULTS_FILE="$RESULTS_BASE_DIR/wemo-plug/wemo-plug.wlan1.wan-detection.pcap___phone-side.detectionresults"
202 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
203 EXACT_MATCH="true"
204 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
205 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
206 # ======================================================================================================================