-
Adaptive Behavioral Model Learning for Software Product Lines
Authors:
Shaghayegh Tavassoli,
Carlos Diego Nascimento Damasceno,
Ramtin Khosravi,
Mohammad Reza Mousavi
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…
▽ More
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 $\text{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 $\text{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 $\text{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.
△ Less
Submitted 1 August, 2022; v1 submitted 11 July, 2022;
originally announced July 2022.
-
A Benchmark for Active Learning of Variability-Intensive Systems
Authors:
Shaghayegh Tavassoli,
Carlos Diego Nascimento Damasceno,
Mohammad Reza Mousavi,
Ramtin Khosravi
Abstract:
Behavioral models are the key enablers for behavioral analysis of Software Product Lines (SPL), including testing and model checking. Active model learning comes to the rescue when family behavioral models are non-existent or outdated. A key challenge on active model learning is to detect commonalities and variability efficiently and combine them into concise family models. Benchmarks and their as…
▽ More
Behavioral models are the key enablers for behavioral analysis of Software Product Lines (SPL), including testing and model checking. Active model learning comes to the rescue when family behavioral models are non-existent or outdated. A key challenge on active model learning is to detect commonalities and variability efficiently and combine them into concise family models. Benchmarks and their associated metrics will play a key role in sha** the research agenda in this promising field and provide an effective means for comparing and identifying relative strengths and weaknesses in the forthcoming techniques. In this challenge, we seek benchmarks to evaluate the efficiency (e.g., learning time and memory footprint) and effectiveness (e.g., conciseness and accuracy of family models) of active model learning methods in the software product line context. These benchmark sets must contain the structural and behavioral variability models of at least one SPL. Each SPL in a benchmark must contain products that requires more than one round of model learning with respect to the basic active learning $L^{*}$ algorithm. Alternatively, tools supporting the synthesis of artificial benchmark models are also welcome.
△ Less
Submitted 10 March, 2022;
originally announced March 2022.
-
Most central or least central? How much modeling decisions influence a node's centrality ranking in multiplex networks
Authors:
Sude Tavassoli,
Katharina Anna Zweig
Abstract:
To understand a node's centrality in a multiplex network, its centrality values in all the layers of the network can be aggregated. This requires a normalization of the values, to allow their meaningful comparison and aggregation over networks with different sizes and orders. The concrete choices of such preprocessing steps like normalization and aggregation are almost never discussed in network a…
▽ More
To understand a node's centrality in a multiplex network, its centrality values in all the layers of the network can be aggregated. This requires a normalization of the values, to allow their meaningful comparison and aggregation over networks with different sizes and orders. The concrete choices of such preprocessing steps like normalization and aggregation are almost never discussed in network analytic papers. In this paper, we show that even sticking to the most simple centrality index (the degree) but using different, classic choices of normalization and aggregation strategies, can turn a node from being among the most central to being among the least central. We present our results by using an aggregation operator which scales between different, classic aggregation strategies based on three multiplex networks. We also introduce a new visualization and characterization of a node's sensitivity to the choice of a normalization and aggregation strategy in multiplex networks. The observed high sensitivity of single nodes to the specific choice of aggregation and normalization strategies is of strong importance, especially for all kinds of intelligence-analytic software as it questions the interpretations of the findings.
△ Less
Submitted 17 June, 2016;
originally announced June 2016.
-
Analyzing the activity of a person in a chat by combining network analysis and fuzzy logic
Authors:
Sude Tavassoli,
Katharina Anna Zweig
Abstract:
Chat-log data that contains information about sender and receiver of the statements sent around in the chat can be readily turned into a directed temporal multi-network representation. In the resulting network, the activity of a chat member can, for example, be operationalized as his degree (number of distinct interaction partners) or his strength (total number of interactions). However, the data…
▽ More
Chat-log data that contains information about sender and receiver of the statements sent around in the chat can be readily turned into a directed temporal multi-network representation. In the resulting network, the activity of a chat member can, for example, be operationalized as his degree (number of distinct interaction partners) or his strength (total number of interactions). However, the data itself contains more information that is not readily representable in the network, e.g., the total number of words used by a member or the reaction time to what the members said. As degree and strength, these values can be seen as a way to operationalize the idea of activity of a chat-log member. This paper deals with the question of how the overall activity of a member can be assessed, given multiple and probably opposing criteria by using a fuzzy operator. We then present a new way of visualizing the results and show how to apply it to the network representation of chat-log data. Finally, we discuss how this approach can be used to deal with other conflicting situations, like the different rankings produced by different centrality indices.
△ Less
Submitted 16 July, 2015; v1 submitted 14 July, 2015;
originally announced July 2015.