Automatic generation of software behavioral models

“Automatic generation of software behavioral models” by Davide Lorenzoli, Leonardo Mariani, and Mauro Pezzè. In ICSE 2008, Proceedings of the 30th International Conference on Software Engineering, (Leipzig, Germany), May 2008, pp. 501-510.
A previous version appeared as “Inferring state-based behavior models” by Davide Lorenzoli, Leonardo Mariani, and Mauro Pezzè. In WODA 2006: Workshop on Dynamic Analysis, (Shanghai, China), May 2006, pp. 25-32.

Abstract

Dynamic analysis of software systems produces behavioral models that are useful for analysis, verification and testing.

The main techniques for extracting models of functional behavior generate either models of constraints on data, usually in the form of Boolean expressions, or models of interactions between components, usually in the form of finite state machines. Both data and interaction models are useful for analyzing and verifying different aspects of software behavior, but none of them captures the complex interplay between data values and components interactions. Thus related analysis and testing techniques can miss important information.

In this paper, we focus on the generation of models of relations between data values and component interactions, and we present GK-tail, a technique to automatically generate extended finite state machines (EFSMs) from interaction traces. EFSMs model the interplay between data values and component interactions by annotating FSM edges with conditions on data values. We show that EFSMs include details that are not captured by either Boolean expressions or (classic) FSM alone, and allow for more accurate analysis and verification than separate models, even if considered jointly.

BibTeX entry:

@inproceedings{LorenzoliMP2008,
   author = {Davide Lorenzoli and Leonardo Mariani and Mauro Pezz{\`e}},
   title = {Automatic generation of software behavioral models},
   booktitle = {ICSE 2008, Proceedings of the 30th International
	Conference on Software Engineering},
   pages = {501--510},
   address = {Leipzig, Germany},
   month = may,
   year = {2008}
}

Back to Publications whose methodology uses invariant detection.