TY - CHAP
T1 - Adaptive Behavioral Model Learning for Software Product Lines
AU - Tavassoli, Shaghayegh
AU - Damasceno, Diego
AU - Mousavi, Mohammadreza
AU - Khosravi, Ramtin
N1 - Funding Information:
Acknowledgements. The work of Mohammad Reza Mousavi was partially supported by the UKRI Trustworthy Autonomous Systems Node in Veri)vability, Grant Award Reference EP/V026801/2.
Publisher Copyright:
© 2022 ACM.
PY - 2022/9/12
Y1 - 2022/9/12
N2 - Behavioral models enable the analysis of the functionality of software product lines (SPL), e.g., model checking and model-based testing. Model learning aims to construct behavioral models. Due to the commonalities among the products of an SPL, it is possible to reuse the previously-learned models during the model learning process. In this paper, an adaptive approach, called PL∗, for learning the product models of an SPL is presented based on the well-known L∗ algorithm. In this method, after learning each product, the sequences in the final observation table are stored in a repository which is used to initialize the observation table of the remaining products. The proposed algorithm is evaluated on two open-source SPLs and the learning cost is measured in terms of the number of rounds, resets, and input symbols. The results show that for complex SPLs, the total learning cost of PL∗ is significantly lower than that of the non-adaptive method in terms of all three metrics. Furthermore, it is observed that the order of learning products affects the efficiency of PL∗. We introduce a heuristic to determine an ordering which reduces the total cost of adaptive learning.
AB - Behavioral models enable the analysis of the functionality of software product lines (SPL), e.g., model checking and model-based testing. Model learning aims to construct behavioral models. Due to the commonalities among the products of an SPL, it is possible to reuse the previously-learned models during the model learning process. In this paper, an adaptive approach, called PL∗, for learning the product models of an SPL is presented based on the well-known L∗ algorithm. In this method, after learning each product, the sequences in the final observation table are stored in a repository which is used to initialize the observation table of the remaining products. The proposed algorithm is evaluated on two open-source SPLs and the learning cost is measured in terms of the number of rounds, resets, and input symbols. The results show that for complex SPLs, the total learning cost of PL∗ is significantly lower than that of the non-adaptive method in terms of all three metrics. Furthermore, it is observed that the order of learning products affects the efficiency of PL∗. We introduce a heuristic to determine an ordering which reduces the total cost of adaptive learning.
UR - http://www.scopus.com/inward/record.url?scp=85138202894&partnerID=8YFLogxK
U2 - https://doi.org/10.1145/3546932.3546991
DO - https://doi.org/10.1145/3546932.3546991
M3 - Conference paper
T3 - 26th ACM International Systems and Software Product Line Conference, SPLC 2022 - Proceedings
SP - 142
EP - 153
BT - 26th ACM International Systems and Software Product Line Conference, SPLC 2022 - Proceedings
A2 - Felfernig, Alexander
A2 - Fuentes, Lidia
A2 - Cleland-Huang, Jane
A2 - Assuncao, Wesley K.G.
A2 - Assuncao, Wesley K.G.
A2 - Falkner, Andreas
A2 - Azanza, Maider
A2 - Luaces, Miguel A. Rodriguez
A2 - Bhushan, Megha
A2 - Semini, Laura
A2 - Devroey, Xavier
A2 - Werner, Claudia Maria Lima
A2 - Seidl, Christoph
A2 - Le, Viet-Man
A2 - Horcas, Jose Miguel
PB - ACM Press
ER -