Runtime Monitoring of Functional Component Changes with Behavior Models

  • Carlo Ghezzi
  • Andrea Mocci
  • Mario Sangiorgio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7167)


We consider the problem of run-time discovery and continuous monitoring of new components that live in an open environment. We focus on extracting a formal model—which may not be available upfront—by observing the behavior of the running component. We show how the model built at run time can be enriched through new observations (dynamic model update). We also use the inferred model to perform run-time verification. That is, we try to identify if any changes are made to the component that modify its original behavior, contradict the previous observations, and invalidate the inferred model.


Test Suite Execution Trace Component Change Setup Phase Component Behavior 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Oracle, java se 6.0 doc. (2011),
  2. 2.
  3. 3.
    Baresi, L., Guinea, S.: Self-supervising bpel processes. In: IEEE TSE (2011)Google Scholar
  4. 4.
    Dallmeier, V., Knopp, N., Mallon, C., Hack, S., Zeller, A.: Generating test cases for specification mining. In: ISSTA 2010, Trento, Italy (2010)Google Scholar
  5. 5.
    de Caso, G., Braberman, V., Garbervetsky, D., Uchitel, S.: Automated abstractions for contract validation. In: IEEE TSE (2010)Google Scholar
  6. 6.
    Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M., Pohl, K.: A journey to highly dynamic, self-adaptive service-based applications. In: ASE (2008)Google Scholar
  7. 7.
    Ghezzi, C., Mocci, A., Monga, M.: Synthesizing intensional behavior models by graph transformation. In: ICSE 2009, Vancouver, Canada (2009)Google Scholar
  8. 8.
    Guttag, J.V., Liskov, B.: Program Development in Java: Abstraction, Specification and Object-Oriented Design. Addison-Wesley (2001)Google Scholar
  9. 9.
    Hooman, J., Hendriks, T.: Model-based run-time error detection. In: Models@run.time 2007, Nashville, USA (2007)Google Scholar
  10. 10.
    Jackson, D.: Software Abstractions: Logic, Language, and Analysis. MIT Press (2006)Google Scholar
  11. 11.
    Maoz, S.: Using model-based traces as runtime models. Computer (2009)Google Scholar
  12. 12.
    Mocci, A.: Behavioral Modeling, Inference and Validation for Stateful Component Specifications. Ph.D. thesis, Politecnico di Milano, Milano, Italy (2010)Google Scholar
  13. 13.
    Morin, B., Barais, O., Jezequel, J.-M., Fleurey, F., Solberg, A.: Models@ run.time to support dynamic adaptation. Computer 42(10), 44–51 (2009)CrossRefGoogle Scholar
  14. 14.
    Murphy, C., Kaiser, G., Vo, I., Chu, M.: Quality assurance of software applications using the in vivo testing approach. In: ICST 2009, Denver, Colorado (2009)Google Scholar
  15. 15.
    Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. In: IEEE TSE (1986)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Carlo Ghezzi
    • 1
  • Andrea Mocci
    • 2
  • Mario Sangiorgio
    • 1
  1. 1.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanoItaly
  2. 2.Computer Science and Artificial Intelligence LaboratoryMassachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations