Adaptive Behavioral Model Learning for Software Product Lines

07/11/2022
by   Shaghayegh Tavassoli, et al.
0

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 PL^* method) for learning the product models of an SPL is presented based on the well-known L^* 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 number of rounds, the total number of resets and input symbols. The results show that for complex SPLs, the total learning cost for the PL^* method is significantly lower than that of the non-adaptive learning method in terms of all three metrics. Furthermore, it is observed that the order in which the products are learned affects the efficiency of the PL^* method. Based on this observation, we introduced a heuristic to determine an ordering which reduces the total cost of adaptive learning in both case studies.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/10/2022

A Benchmark for Active Learning of Variability-Intensive Systems

Behavioral models are the key enablers for behavioral analysis of Softwa...
research
11/29/2020

Resolving code smells in software product line using refactoring and reverse engineering

Software Product Lines SPL are recognized as a successful approach to re...
research
04/30/2021

Towards Certified Analysis of Software Product Line Safety Cases

Safety-critical software systems are in many cases designed and implemen...
research
01/31/2022

Network Programming via Computable Products

The User Plane Function (UPF) aims to provide network services in the 3G...
research
12/10/2021

MOBAFS: A Multi Objective Bee Algorithm for Feature subset selection in Software Product Lines

Software product line represents software engineering methods, tools and...
research
06/30/2011

Learning to Order BDD Variables in Verification

The size and complexity of software and hardware systems have significan...
research
03/19/2019

Conservative Exploration for Semi-Bandits with Linear Generalization: A Product Selection Problem for Urban Warehouses

The recent rising popularity of ultra-fast delivery services on retail p...

Please sign up or login with your details

Forgot password? Click here to reset