Mediating Software Self-Awareness

We proposeTRIPWIRE as a framework that provides for the mediation of software self-awareness by supporting real-time assessment and response capabilities. Our approach is inspired by the recent success of automatic speech recognition systems, which can assess the likelihood of a potentially unbounded set of possible utterances and select the most likely candidate in real-time, given an underlying model of the conversational domain. We see an analogy between estimating an utterance from an acoustic waveform and estimating the behavior of a program from dynamicanalysis data. In both cases, there is an inherently stochastic causal relationship between the quantity of interest and the measurement data. Our strategy is to leverage the successful tools and methods of speech recognition in the novel context of program behavior analysis. TRIPWIRE technology provides a systematic approach to behavior modeling and recognition with three main elements: strong domain knowledge and tools, learned statistical models, and realtime classification processes.

[1]  John D. Musa,et al.  Software Reliability Engineering: More Reliable Software Faster and Cheaper , 2004 .

[2]  James M. Rehg,et al.  Active learning for automatic classification of software behavior , 2004, ISSTA '04.

[3]  Yuriy Brun,et al.  Finding latent code errors via machine learning over program executions , 2004, Proceedings. 26th International Conference on Software Engineering.

[4]  David A. Cohn,et al.  Improving generalization with active learning , 1994, Machine Learning.

[5]  Ata Kabán,et al.  Simplicial Mixtures of Markov Chains: Distributed Modelling of Dynamic User Profiles , 2003, NIPS.

[6]  Daniel C. DuVarney,et al.  Model-carrying code: a practical approach for safe execution of untrusted applications , 2003, SOSP '03.

[7]  Bin Wang,et al.  Automated support for classifying software failure reports , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Michael D. Ernst,et al.  Improving test suites via operational abstraction , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  David L. Cohn,et al.  Autonomic Computing , 2003, ISADS.

[10]  Kevin Mills,et al.  Understanding self-healing in service-discovery systems , 2002, WOSS '02.

[11]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[12]  Mary Shaw,et al.  "Self-healing": softening precision to avoid brittleness: position paper for WOSS '02: workshop on self-healing systems , 2002, WOSS '02.

[13]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[14]  Thomas G. Dietterich Machine Learning for Sequential Data: A Review , 2002, SSPR/SPR.

[15]  James R. Larus,et al.  Mining specifications , 2002, POPL '02.

[16]  David Leon,et al.  Finding failures by cluster analysis of execution profiles , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[17]  Somesh Jha,et al.  Markov chains, classifiers, and intrusion detection , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[18]  Shigeo Abe DrEng Pattern Classification , 2001, Springer London.

[19]  James M. Rehg,et al.  Compiler-Directed Remote Task Execution for Power Management , 2000 .

[20]  John D. Musa,et al.  Software reliability engineering : more reliable software, faster development and testing , 1999 .

[21]  Alexander L. Wolf,et al.  Automating Process Discovery through Event-Data Analysis , 1995, 1995 17th International Conference on Software Engineering.

[22]  Richard A. Kemmerer,et al.  State Transition Analysis: A Rule-Based Intrusion Detection Approach , 1995, IEEE Trans. Software Eng..

[23]  Jesse H. Poore,et al.  Markov analysis of software specifications , 1993, TSEM.