Authors: Orna Raz, Philip Koopman, and Mary Shaw
Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 302-312.
Download the PDF version.
Much of the software we use for everyday purposes incorporates elements developed and maintained by someone other than the developer. These elements include not only code and databases but also dynamic data feeds from online data sources. Although everyday software is not mission critical, it must be dependable enough for practical use. This is limited by the dependability of the incorporated elements.
It is particularly difficult to evaluate the dependability of dynamic data feeds, because they may be changed by their proprietors as they are used. Further, the specifications of these data feeds are often even sketchier than the specifications of software components.
We demonstrate a method of inferring invariants about the normal behavior of dynamic data feeds. We use these invariants as proxies for specifications to perform on-going detection of anomalies in the data feed. We show the feasibility of our approach and demonstrate its usefulness for semantic anomaly detection: identifying occasions when a dynamic data feed is delivering unreasonable values, even though its behavior may be superficially acceptable (i.e., it is delivering parsable results in a timely fashion).
Brought to you by Composable Software Systems Research Group in the School of Computer Science at Carnegie Mellon University.
[Last modified 1-FEB-02. Mail suggestions to the Maintainer.]