Detecting component changes at run time with behavior models

Detecting component changes at run time with behavior models

13 September 2013 Paper

Authors: Andrea Mocci, Mario Sangiorgio

Springer Computing

Citations
Google Scholar

Abstract. Modern software systems are composed of several services which may be developed and maintained by third parties and thus they can change independently and without notice during the system’s runtime execution. In such systems, changes may possibly be a threat to system functional correctness, and thus to its reliability. Hence, it is important to detect them as soon as they happen to enable proper reaction. Change detection can be done by monitoring system execution and comparing the observed execution traces against models of the services composing the application. Unfortunately, formal specifications for services are not usually provided and developers have to infer them. In this paper we propose a methodology which exactly addresses these issues by using software behavior models to monitor component execution and detect changes. In particular, we describe a technique to infer behavior model specifications with a dynamic black box approach, keep them up-to-date with run time observations and detect behavior changes. Finally, we present a case study to validate the effectiveness of the approach in component change detection for a component that implements a complex, real communication protocol.

Coauthors

Pre-Print

Project

1 December 2008 Project PhD Researcher

SMScom: Self-Managing Situated Computing

Methods and tools for the design, validation, and operation of dependable self-managing situated software.

SMScom: Self-Managing Situated Computing

Thanks for reading!

Detecting component changes at run time with behavior models

13 September 2013 Paper 0

© Andrea Mocci | Closed Access