Automatic generation of software behavioral models

Davide Lorenzoli, Leonardo Mariani, Mauro Pezzè
2008 Proceedings of the 13th international conference on Software engineering - ICSE '08  
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
more » ... tures 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.
doi:10.1145/1368088.1368157 dblp:conf/icse/LorenzoliMP08 fatcat:vl63xwxyfjcyjg4un5nrmdwiru