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.
Pastore, F., Micucci, D., Guzman, M., Mariani, L. (2022). TkT: Automatic Inference of Timed and Extended Pushdown Automata. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 48(2), 617-636 [10.1109/TSE.2020.2998527].
TkT: Automatic Inference of Timed and Extended Pushdown Automata
Micucci, Daniela;Guzman, Michell;Mariani, Leonardo
2022
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.File | Dimensione | Formato | |
---|---|---|---|
09103630.pdf
Solo gestori archivio
Tipologia di allegato:
Submitted Version (Pre-print)
Dimensione
4.55 MB
Formato
Adobe PDF
|
4.55 MB | Adobe PDF | Visualizza/Apri Richiedi una copia |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.