Detecting component changes at run time with behavior models
Author(s)
Mocci, Andrea; Sangiorgio, Mario
Download607_2012_Article_214.pdf (1022.Kb)
PUBLISHER_POLICY
Publisher Policy
Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.
Terms of use
Metadata
Show full item recordAbstract
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.
Date issued
2012-09Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryJournal
Computing
Publisher
Springer Vienna
Citation
Mocci, Andrea, and Mario Sangiorgio. “Detecting Component Changes at Run Time with Behavior Models.” Computing 95, no. 3 (September 13, 2012): 191–221.
Version: Author's final manuscript
ISSN
0010-485X
1436-5057