Adaptive Behavioral Model Learning for Software Product Lines
Shaghayegh Tavassoli, Carlos Diego Nascimento Damasceno, Ramtin, Khosravi, Mohammad Reza Mousavi

TL;DR
This paper introduces an adaptive model learning approach for software product lines that reuses learned models to improve efficiency, significantly reducing learning costs for complex SPLs.
Contribution
It presents the $ ext{PL}^*$ method, an adaptive extension of the $L^*$ algorithm, leveraging model reuse across products in an SPL to enhance learning efficiency.
Findings
The $ ext{PL}^*$ method reduces learning costs compared to non-adaptive methods.
Order of product learning impacts the efficiency of the adaptive approach.
A heuristic for product learning order further improves cost reduction.
Abstract
Behavioral models enable the analysis of the functionality of software product lines (SPL), e.g., model checking and model-based testing. Model learning aims at constructing behavioral models for software systems in some form of a finite state machine. 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 (the method) for learning the product models of an SPL is presented based on the well-known algorithm. In this method, after model learning of each product, the sequences in the final observation table are stored in a repository which will be used to initialize the observation table of the remaining products to be learned. The proposed algorithm is evaluated on two open-source SPLs and the total learning cost is measured in terms of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software Reliability and Analysis Research · Software Engineering Research
