1. TkT: Automatic Inference of Timed and Extended Pushdown Automata
- Author
-
Fabrizio Pastore, Leonardo Mariani, Michell Guzman, Daniela Micucci, Pastore, F, Micucci, D, Guzman, M, and Mariani, L
- Subjects
Performance analysi ,Computer science ,02 engineering and technology ,computer.software_genre ,Dynamic analysi ,ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI ,Automata ,Trace analysi ,0202 electrical engineering, electronic engineering, information engineering ,Timing ,Software system ,Timed automata ,Software systems ,Data mining ,Clocks ,Computer science [C05] [Engineering, computing & technology] ,Programming language ,Pushdown automaton ,INF/01 - INFORMATICA ,Computational modeling ,020207 software engineering ,Sciences informatiques [C05] [Ingénierie, informatique & technologie] ,Automaton ,Specification mining ,Automatic inference ,Model inference ,computer ,Software - Abstract
To mitigate the cost of manually producing and maintaining models capturing software specifications,specification miningtechniques can be exploited to automatically derive up-to-date models that faithfully represent the behavior of software systems. So far,specification mining solutions focused on extracting information about the functional behavior of the system, especially in the form ofmodels that represent the ordering of the operations. Well-known examples are finite state models capturing the usage protocol ofsoftware interfaces and temporal rules specifying relations among system events.Although the functional behavior of a software system is a primary aspect of concern, there are several other non-functionalcharacteristics that must be typically addressed jointly with the functional behavior of a software system. Efficiency is one of the most relevant characteristics. Indeed, an application that delivers the right functionalities with an inefficient implementation may fail to satisfy the expectations of its users.Interestingly, the timing behavioris strongly dependent on the functional behavior of a software system. For instance, the timing of an operation depends on the functional complexity and size of the computation that is performed. Consequently, models that combine the functional and timing behaviors, as well as their dependencies, are extremely important to precisely reason on the behavior of software systems.In this paper, we address the challenge of generating models that capture both the functional and timing behavior of a software system from execution traces. The result is the Timed k-Tail (TkT) specification mining technique, which can mine finite state models that capture such an interplay: the functional behavior is represented by the possible order of the events accepted by the transitions, while the timing behavior is represented through clocks and clock constraints of different nature associated with transitions.Our empirical evaluation with several libraries and applications shows that TkT can generate accurate models, capable of supporting the identification of timing anomalies due to overloaded environment and performance faults. Furthermore, our study shows that TkT outperforms state-of-the-art techniques in terms of scalability and accuracy of the mined models.
- Published
- 2022