# Building Survivable Software Systems by Automatically Adapting to Sensor Changes
## 7 Conclusions  
In this paper, we were the first to study a critical problem in building survivable software, i.e., how to automatically adapt to sensor changes in which a set of sensors are replaced by new sensors. To address this problem, we proposed a machine learning approach, called ASC, that is capable of exploiting new sensors, scaling to a large number of sensors, and estimating adaptation quality. ASC learns a reconstruction function to preserve sensor value distributions before and after the sensor change(s). It dynamically estimates the adaptation quality, thereby enabling higher-layer software components to determine whether or not to accept an adaptation. It also scales to a large number of sensors by intelligently selecting an important subset of relevant sensors using machine learning methods. This procedure significantly reduces overfitting to noisy values as well as the overall computational cost. Furthermore, ASC continually exploits new sensors in an open life-long environment. For empirical studies, we evaluated ASC on sensor data from the weather and UUV domains. In most of the evaluation cases, ASC outperformed other baseline methods. Our work is of highest relevance to researchers and practitioners working in the areas of Software Systems, Internet of Things, and Machine Learning.  
Discussion: The underlying assumption of our approach is that sensor values from a subset of sensors are well correlated. Although this assumption often holds in real-world systems, it may not always be the case. This can be viewed as a limitation of our approach when the correlations among sensors are weak. However, such a limitation can often be overcome in practice if we are allowed to access or install more reference sensors that are better correlated with existing sensors.  
Future Work: We would like to explore two directions in our future work. The first is to apply our ideas to new domains with larger volumes of sensor data. For example, we plan to examine the aviation domain where sensor values are sampled in milliseconds. The second is to integrate our methods into survivable software systems that operate in real-world scenarios.  
Conceptualization, Y.S., T.K.S.K. and C.A.K.; methodology, Y.S., T.K.S.K. and C.A.K.; software, Y.S.; Validation, Y.S. and A.L.; formal analysis, Y.S., A.L., T.K.S.K. and C.A.K.; investigation, Y.S., A.L., T.K.S.K. and C.A.K.; resources, Y.S., A.L., T.K.S.K. and C.A.K.; data curation, Y.S., A.L., T.K.S.K. and C.A.K.; writing--original draft preparation, Y.S.; writing--review and editing, Y.S., A.L., T.K.S.K. and C.A.K.; visualization, Y.S. and A.L.; supervision, T.K.S.K. and C.A.K.; project administration, T.K.S.K. and C.A.K.; funding acquisition, C.A.K. All authors have read and agreed to the published version of the manuscript.  
This research was funded by the United States Air Force and the Defense Advanced Research Projects Agency (DARPA) under Contract No. FA8750-16-C-0045.  
The weather data are available at [[https://github.com/usc-isi-i2](https://github.com/usc-isi-i2)]([https://github.com/usc-isi-i2](https://github.com/usc-isi-i2)) /sensor-adaptation/tree/master/datasets/weather/dataset, accessed on 17 May 2021. The UUV data are not publicly available due to possible DARPA restrictions.  
This material is based upon work supported by the United States Air Force and the Defense Advanced Research Projects Agency (DARPA) under Contract No. FA8750-16-C-0045. Any opinions, findings and conclusions, or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Air Force or DARPA.  
The authors declare no conflict of interest.