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.
Lorenzoli, D., Mariani, L., & Pezze', M. (2008). Automatic Generation of Software Behavioral Models. In Proceedings of the 30th International Conference on Software Engineering (ICSE). ACM [10.1145/1368088.1368157].
|Citazione:||Lorenzoli, D., Mariani, L., & Pezze', M. (2008). Automatic Generation of Software Behavioral Models. In Proceedings of the 30th International Conference on Software Engineering (ICSE). ACM [10.1145/1368088.1368157].|
|Carattere della pubblicazione:||Scientifica|
|Presenza di un coautore afferente ad Istituzioni straniere:||No|
|Titolo:||Automatic Generation of Software Behavioral Models|
|Autori:||Lorenzoli, D; Mariani, L; Pezze', M|
|Data di pubblicazione:||2008|
|Nome del convegno:||International Conference on Software Engineering|
|Serie:||PROCEEDINGS - INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING|
|Appare nelle tipologie:||02 - Intervento a convegno|