Programming language support for analyzing non-persistent data
Yung-Hsiang Lu, Milind V. Kulkarni, Nouraldin Jaber, Jerry Xiaojin Zhu · 2016
For safety and security, surveillance cameras are widely deployed. A high percentage of the visual data, however, is never watched by humans nor analyzed by computer programs. Moreover, it is common practice to erase the data after a short duration (say, two weeks) and reuse the storage space. As a result, the data are non-persistent. Non-persistent data presents serious security risks: the unwatched and unanalyzed data may include evidence of security breaches. After the data is erased, it is no longer possible to detect the breaches nor prosecute the suspects. This paper proposes a potential solution to remedy this situation by adding automatic data sampling to a programming language. If a piece of data is marked as non-persistent, the compiler and the run-time system automatically sample and store the data, hence making a small fraction of the data persistent. The samples would allow post-event analysis to detect security breaches that are not detected earlier. The samples, due to the much smaller sizes compared with the original non-persistent data, may be analyzed using more sophisticated computer programs that are unable to keep up with the speeds of data generation.