You are here
Using Automated Abstractions to Classify System States for Software Health Monitoring
In most critical software systems, a state that is partially visible through values passed across interfaces contains information that could determine the health of the software system, and whether a failure is likely in the future. Some of this information behaves in a continuous fashion, e.g., the available memory or disk space is easily interpreted to monitor system health. Other values are nominal and lack a simple quantitative interpretation, e.g., finite automation states in a protocol, IP addresses, pointer values, or file names The danger of failure in these cases may be observable only in complex relationships between state values, or depend on past history. We propose to apply ideas from run-time verification and software testing to extract strings abstracting nominal state, to which a machine learning algorithm can be applied to classify states by their probable proximity to system failure. Our primary goal will be to determine if methods that have been successful in other kinds of software analysis can be used to health monitoring.
* Information listed above is at the time of submission. *