Adding scripts for signature validation.
[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 # ======================================================================================================================