# Building Survivable Software Systems by Automatically Adapting to Sensor Changes
## 4 Empirical Study
### Results on UUV Data  
We used the concatenated sensor values in 10 trips as the source domain, and the remaining as the target domain. We examined reconstruction errors on the surge (m/s), heave (m/s) and sway (m/s) sensors, whose sensor values are crucial for higher-layer software. To simulate new sensors, we used a biased version for each of the surge, heave and sway sensors. The biased version offset the original sensor values by a sensor-specific bias. We set the bias to 3\(\sigma\), where \(\sigma\) is the standard deviation of the original sensor values. Individual Sensor Changes: we treated each of the surge, heave and sway sensors as the replaced sensor, and the remaining sensors as the reference sensors. Table 3 compares reconstruction errors of different methods, where ASC improved over the best baseline by an average of 8.8%. The improvement on surge was the most statistically significant. Refer and ReferZ always outperformed Replace, consistent with our observations on weather data. Compound Sensor Changes: we treated all sensors in the DVL compound sensor as the replaced sensors, and the propeller RPM and watershed sensors as the reference sensors. Table 4 reports the results. ASC improved over the best baseline by an average of 3.0%. Compared to Table 3, the improvement decreased for each sensor because fewer reference sensors were available. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Sensor** & **Replace** & **Refer** & **ReferZ** & **ASC** & **Imp.** \\ \hline surge & 2.47 \(\pm\) 0.14 & 0.71 \(\pm\) 0.084 & 0.67 \(\pm\) 0.078 & **0.62 \(\pm\) 0.081** & 6.0 \\ heave & 0.094 \(\pm\) 0.0063 & **0.026 \(\pm\) 0.0073** & **0.026 \(\pm\) 0.0070** & **0.024 \(\pm\) 0.0073** & 3.4 \\ sway & 2.31 \(\pm\) 0.13 & **0.78 \(\pm\) 0.079** & **0.75 \(\pm\) 0.080** & **0.75 \(\pm\) 0.076** & \(-\)0.5 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Reconstruction errors (RMSE) on UUV data for compound sensor changes. Each entry shows the average reconstruction error and the corresponding standard error. Imp. shows the average improvement (in %) of ASC over the best baseline method. The best performing method(s) (statistically significant up to one standard error) are in bold font. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Sensor** & **Replace** & **Refer** & **ReferZ** & **ASC** & Imp. \\ \hline temperature & 3.94 \(\pm\) 0.024 & 0.73 \(\pm\) 0.018 & 0.71 \(\pm\) 0.013 & **0.68 \(\pm\) 0.014** & 4.2 \\ humidity & 5.73 \(\pm\) 0.023 & **0.87 \(\pm\) 0.021** & **0.88 \(\pm\) 0.020** & **0.87 \(\pm\) 0.022** & 0 \\ dew point & 3.89 \(\pm\) 0.027 & 0.75 \(\pm\) 0.018 & **0.74 \(\pm\) 0.012** & **0.72 \(\pm\) 0.011** & 2.6 \\ wind speed & 8.24 \(\pm\) 0.084 & **6.07 \(\pm\) 0.080** & **6.11 \(\pm\) 0.074** & **6.13 \(\pm\) 0.082** & \(-\)1.8 \\ wind gust & 10.81 \(\pm\) 0.073 & 7.24 \(\pm\) 0.069 & 7.08 \(\pm\) 0.072 & **6.83 \(\pm\) 0.070** & 3.5 \\ pressure & 7.82 \(\pm\) 0.16 & 3.82 \(\pm\) 0.21 & 2.83 \(\pm\) 0.20 & **2.26 \(\pm\) 0.18** & 20.1 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Reconstruction errors (RMSE) on weather data for compound sensor changes. Each entry shows the average reconstruction error and the corresponding standard error. Imp. shows the average improvement (in %) of ASC over the best baseline method. The best performing method(s) (statistically significant up to one standard error) are in bold font. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Sensor** & **Replace** & **Refer** & **ReferZ** & **ASC** & Imp. \\ \hline surge & 2.47 \(\pm\) 0.14 & 0.66 \(\pm\) 0.071 & 0.58 \(\pm\) 0.048 & **0.47 \(\pm\) 0.051** & 18.9 \\ heave & 0.13 \(\pm\) 0.0068 & **0.020 \(\pm\) 0.0062** & **0.020 \(\pm\) 0.0046** & **0.019 \(\pm\) 0.0049** & 6.5 \\ sway & 2.31 \(\pm\) 0.13 & **0.74 \(\pm\) 0.065** & **0.72 \(\pm\) 0.059** & **0.71 \(\pm\) 0.063** & 1.1 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Reconstruction errors (RMSE) on UUV data for individual sensor changes.