Synthesizing intensional behavior models by graph transformation

  • Authors:
  • Carlo Ghezzi;Andrea Mocci;Mattia Monga

  • Affiliations:
  • Politecnico di Milano, DeepSE Group at DEI, Piazza L. da Vinci, 32, 20133, Italy;Politecnico di Milano, DeepSE Group at DEI, Piazza L. da Vinci, 32, 20133, Italy;Università degli Studi di Milano, DICo, Via Comelico, 39, 20135, Italy

  • Venue:
  • ICSE '09 Proceedings of the 31st International Conference on Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.02

Visualization

Abstract

This paper describes an approach (SPY) to recovering the specification of a software component from the observation of its run-time behavior. It focuses on components that behave as data abstractions. Components are assumed to be black boxes that do not allow any implementation inspection. The inferred description may help understand what the component does when no formal specification is available. SPY works in two main stages. First, it builds a deterministic finite-state machine that models the partial behavior of instances of the data abstraction. This is then generalized via graph transformation rules. The rules can generate a possibly infinite number of behavior models, which generalize the description of the data abstraction under an assumption of “regularity” with respect to the observed behavior. The rules can be viewed as a likely specification of the data abstraction. We illustrate how SPY works on relevant examples and we compare it with competing methods.