Adding new devices; Fixing bugs in concatenation.
[pingpong.git] / Code / Projects / PacketLevelSignatureExtractor / execute_signature_validation_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-nov-13-2018.timestamps"
16 RESULTS_FILE="$RESULTS_BASE_DIR/arlo-camera/arlo-camera.wlan1.validation.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-jan-14-2019.timestamps"
30
31 # DEVICE SIDE
32 RESULTS_FILE="$RESULTS_BASE_DIR/blossom-sprinkler/blossom-sprinkler.wlan1.validation.pcap___device-side.detectionresults"
33 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
34 EXACT_MATCH="true"
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.wlan1.validation.pcap___phone-side.detectionresults"
40 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
41 EXACT_MATCH="true"
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-nov-7-2018.timestamps"
50
51 # DEVICE SIDE
52 # This one is going to generate 97 FPs because every event is counted twice (same signatures for ON and OFF).
53 RESULTS_FILE="$RESULTS_BASE_DIR/dlink-plug/dlink-plug.wlan1.validation.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.wlan1.validation.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-nov-9-2018.timestamps"
71
72 #PHONE SIDE
73 RESULTS_FILE="$RESULTS_BASE_DIR/dlink-siren/dlink-siren.wlan1.validation.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-aug-7-2018.timestamps"
84
85 #PHONE SIDE
86 RESULTS_FILE="$RESULTS_BASE_DIR/hue-bulb/hue-bulb.wlan1.validation.pcap___phone-side.detectionresults"
87 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
88 EXACT_MATCH="true"
89 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
90 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
91 # ======================================================================================================================
92
93
94
95 # ================================================= KWIKSET DOORLOCK ===================================================
96 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/kwikset-doorlock/timestamps/kwikset-doorlock-nov-10-2018.timestamps"
97
98 # Has no device side signature.
99
100 # PHONE SIDE
101 RESULTS_FILE="$RESULTS_BASE_DIR/kwikset-doorlock/kwikset-doorlock.wlan1.validation.pcap___phone-side.detectionresults"
102 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
103 EXACT_MATCH="true"
104 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
105 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
106 # ======================================================================================================================
107
108
109
110 # ================================================= NEST THERMOSTAT ====================================================
111 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/nest-thermostat/timestamps/nest-thermostat-nov-15-2018.timestamps"
112
113 # Has no device side signature.
114
115 # PHONE SIDE
116 RESULTS_FILE="$RESULTS_BASE_DIR/nest-thermostat/nest-thermostat.wlan1.validation.pcap___phone-side.detectionresults"
117 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
118 EXACT_MATCH="true"
119 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
120 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
121 # ======================================================================================================================
122
123
124
125 # ====================================================== ST PLUG =======================================================
126 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/st-plug/timestamps/st-plug-nov-12-2018.timestamps"
127
128 # Has no device side signature.
129
130 # PHONE SIDE
131 RESULTS_FILE="$RESULTS_BASE_DIR/st-plug/st-plug.wlan1.validation.pcap___phone-side.detectionresults"
132 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
133 EXACT_MATCH="true"
134 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
135 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
136 # ======================================================================================================================
137
138
139
140 # ==================================================== TP-LINK BULB ====================================================
141 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-bulb/timestamps/tplink-bulb-nov-16-2018.timestamps"
142
143 # Has no device side signature.
144
145 # PHONE SIDE
146 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-bulb/tplink-bulb.wlan1.validation.pcap___phone-side.detectionresults"
147 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
148 EXACT_MATCH="true"
149 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
150 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
151 # ======================================================================================================================
152
153
154
155 # ==================================================== TP-LINK PLUG ====================================================
156 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-plug/timestamps/tplink-plug-nov-8-2018.timestamps"
157
158 # DEVICE SIDE
159 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-plug/tplink-plug.wlan1.validation.pcap___device-side.detectionresults"
160 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
161 EXACT_MATCH="true"
162 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
163 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
164
165 # DEVICE SIDE OUTBOUND
166 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-plug/tplink-plug.wlan1.validation.pcap___device-side-outbound.detectionresults"
167 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
168 EXACT_MATCH="true"
169 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
170 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
171 # ======================================================================================================================
172
173
174
175 # ================================================== WEMO INSIGHT PLUG =================================================
176 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/wemo-insight-plug/timestamps/wemo-insight-plug-nov-21-2018.timestamps"
177
178 # Has no device side signature.
179
180 # PHONE SIDE
181 # This one is going to generate 100 FPs because every event is counted twice (same signatures for ON and OFF).
182 RESULTS_FILE="$RESULTS_BASE_DIR/wemo-insight-plug/wemo-insight-plug.wlan1.validation.pcap___phone-side.detectionresults"
183 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
184 EXACT_MATCH="true"
185 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
186 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
187 # ======================================================================================================================
188
189
190
191 # ===================================================== WEMO PLUG ======================================================
192 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/wemo-plug/timestamps/wemo-plug-nov-20-2018.timestamps"
193
194 # Has no device side signature.
195
196 # PHONE SIDE
197 # This one is going to generate 100 FPs because every event is counted twice (same signatures for ON and OFF).
198 RESULTS_FILE="$RESULTS_BASE_DIR/wemo-plug/wemo-plug.wlan1.validation.pcap___phone-side.detectionresults"
199 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
200 EXACT_MATCH="true"
201 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
202 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
203 # ======================================================================================================================
204
205
206 # NEW DEVICES
207 # ================================================= TP LINK BULB COLOR =================================================
208 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-bulb-color/timestamps/tplink-bulb-color-apr-12-2019.timestamps"
209
210 # PHONE SIDE
211 # This one is going to generate 100 FPs because every event is counted twice (same signatures for ON and OFF).
212 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-bulb-color/tplink-bulb-color.wlan1.validation.pcap___phone-side.detectionresults"
213 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
214 EXACT_MATCH="true"
215 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
216 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
217 # ======================================================================================================================
218
219 # =============================================== TP LINK BULB INTENSITY ===============================================
220 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/tplink-bulb-intensity/timestamps/tplink-bulb-intensity-apr-12-2019.timestamps"
221
222 # PHONE SIDE
223 # This one is going to generate 100 FPs because every event is counted twice (same signatures for ON and OFF).
224 RESULTS_FILE="$RESULTS_BASE_DIR/tplink-bulb-intensity/tplink-bulb-intensity.wlan1.validation.pcap___phone-side.detectionresults"
225 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
226 EXACT_MATCH="true"
227 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
228 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
229 # ======================================================================================================================
230
231 # =============================================== BLOSSOM SPRINKLER MODE ===============================================
232 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/blossom-sprinkler-mode/timestamps/blossom-sprinkler-mode-apr-15-2019.timestamps"
233
234 # PHONE SIDE
235 RESULTS_FILE="$RESULTS_BASE_DIR/blossom-sprinkler-mode/blossom-sprinkler-mode.wlan1.validation.pcap___phone-side.detectionresults"
236 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
237 EXACT_MATCH="true"
238 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
239 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
240 # ======================================================================================================================
241
242 # =============================================== NEST THERMOSTAT MODE =================================================
243 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/nest-thermostat-mode/timestamps/nest-thermostat-mode-apr-16-2019.timestamps"
244
245 # PHONE SIDE
246 RESULTS_FILE="$RESULTS_BASE_DIR/nest-thermostat-mode/nest-thermostat-mode.wlan1.validation.pcap___phone-side.detectionresults"
247 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
248 EXACT_MATCH="true"
249 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
250 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
251 # ======================================================================================================================
252
253 # ==================================================== AMAZON PLUG =====================================================
254 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/amazon-plug/timestamps/amazon-plug-apr-16-2019.timestamps"
255
256 # DEVICE SIDE
257 RESULTS_FILE="$RESULTS_BASE_DIR/amazon-plug/amazon-plug.wlan1.validation.pcap___device-side.detectionresults"
258 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
259 EXACT_MATCH="true"
260 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
261 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
262 # ======================================================================================================================
263
264 # =================================================== SENGLED BULB =====================================================
265 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/sengled-bulb/timestamps/sengled-bulb-apr-16-2019.timestamps"
266
267 # DEVICE SIDE
268 RESULTS_FILE="$RESULTS_BASE_DIR/sengled-bulb/sengled-bulb.wlan1.validation.pcap___phone-side.detectionresults"
269 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
270 EXACT_MATCH="true"
271 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
272 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
273
274 # PHONE SIDE
275 # DEVICE SIDE
276 RESULTS_FILE="$RESULTS_BASE_DIR/sengled-bulb/sengled-bulb.eth1.validation.pcap___device-side.detectionresults"
277 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
278 EXACT_MATCH="true"
279 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
280 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
281 # ======================================================================================================================
282
283 # =============================================== SENGLED BULB INTENSITY ===============================================
284 TIMESTAMPS_FILE="$TIMESTAMPS_BASE_DIR/sengled-bulb-intensity/timestamps/sengled-bulb-intensity-apr-17-2019.timestamps"
285
286 # DEVICE SIDE
287 RESULTS_FILE="$RESULTS_BASE_DIR/sengled-bulb-intensity/sengled-bulb-intensity.wlan1.validation.pcap___phone-side.detectionresults"
288 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
289 EXACT_MATCH="true"
290 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
291 #./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
292
293 # PHONE SIDE
294 # DEVICE SIDE
295 RESULTS_FILE="$RESULTS_BASE_DIR/sengled-bulb-intensity/sengled-bulb-intensity.eth1.validation.pcap___device-side.detectionresults"
296 ANALYSIS_RESULTS_FILE="$RESULTS_FILE.analysis"
297 EXACT_MATCH="true"
298 PROGRAM_ARGS="'$TIMESTAMPS_FILE' '$RESULTS_FILE' '$ANALYSIS_RESULTS_FILE' '$EXACT_MATCH'"
299 ./gradlew run -DmainClass=edu.uci.iotproject.evaluation.DetectionResultsAnalyzer --args="$PROGRAM_ARGS"
300 # ======================================================================================================================