scholarly journals Towards Incremental FSM-based Testing of Software Product Lines

2012 ◽  
Author(s):  
Maykon Luís Capellari ◽  
Itana Maria de Souza Gimenes ◽  
Adenilso da Silva Simão ◽  
Andre Takeshi Endo

Software Product Line (SPL) is an approach which offers several benefits for organizations, such as significant reductions in the development and maintenance costs, reduced time-to-market, and personalized software products. In SPLs, the testing activity presents challenges due to characteristics of their development process. The cost of testing SPL is usually higher than the cost of testing traditional systems. SPLs foster the reuse of artifacts that include requirement specifications, code and models. Among different models used in an SPL, state-based models, such as Finite State Machines, are promising candidates to support the test case generation. Therefore, we propose a strategy to reuse test cases generated for different products of an SPL. Test cases are derived from Finite State Machines representing products instantiated from an SPL. The test cases generated for a product are reused when testing further products instantiated from the same SPL, in order to reduce the size of additional test cases. We illustrate our strategy in a case study using two SPLs of embedded system applications.

2012 ◽  
Author(s):  
Luanna Lopes Lobato ◽  
Ivan do Carmo Machado ◽  
Paulo Anselmo da Mota Silveira Neto ◽  
Eduardo Santana De Almeida ◽  
Silvio Romero de Lemos Meira

Software Product Line (SPL) is an approach which offers several benefits for organizations, such as significant reductions in the development and maintenance costs, reduced time-to-market, and personalized software products. In SPLs, the testing activity presents challenges due to characteristics of their development process. The cost of testing SPL is usually higher than the cost of testing traditional systems. SPLs foster the reuse of artifacts that include requirement specifications, code and models. Among different models used in an SPL, state-based models, such as Finite State Machines, are promising candidates to support the test case generation. Therefore, we propose a strategy to reuse test cases generated for different products of an SPL. Test cases are derived from Finite State Machines representing products instantiated from an SPL. The test cases generated for a product are reused when testing further products instantiated from the same SPL, in order to reduce the size of additional test cases. We illustrate our strategy in a case study using two SPLs of embedded system applications.


2020 ◽  
Vol 10 (23) ◽  
pp. 8686
Author(s):  
Pilsu Jung ◽  
Sungwon Kang ◽  
Jihyun Lee

Regression testing for software product lines (SPLs) is challenging because it must ensure that all the products of a product family work correctly whenever changes are made. One approach to reducing the cost of regression testing is the regression test selection (RTS), which selects a subset of regression test cases. However, even when RTS is applied, SPL regression testing can still be expensive because, in the product line context, each test case can be executed on more than one product that reuses the test case, which would typically result in a large number of test executions. A promising direction is to eliminate redundant test executions of test cases. We propose a method that, given a test case, identifies a set of products, on which the test case will cover the same sequence of source code statements and produce the same testing results, and then excludes these products from products to apply the test case to. The evaluation results showed that when the full selection approach and the approach of repetitively applying an RTS method for a single software system are used for test selection, our method reduced, respectively, 59.3% and 40.0% of the numbers of test executions of the approaches.


Author(s):  
Johnny Maikeo Ferreira ◽  
Silvia Regina Vergilio ◽  
Marcos Quinaia

The Feature Model (FM) is a fundamental artifact of the Software Product Line (SPL) engineering, used to represent commonalities and variabilities, and also to derive products for testing. However, the test of all features combinations (products) is not always possible in practice. Due to the growing complexity of the applications, only a subset of products is usually selected. The selection is generally based on combinatorial testing, to test features interactions. This kind of selection does not consider different classes of faults that can be present in the FM. The application of a fault-based approach, such as mutation-based testing, can increase the probability of finding faults and the confidence that the SPL products match the requirements. Considering that, this paper introduces a mutation approach to select products for the feature testing of SPLs. The approach can be used similarly to a test criterion in the generation and assessment of test cases. It includes (i) a set of mutation operators, introduced to describe typical faults associated to the feature management and to the FM; and (ii) a testing process to apply the operators. Experimental results show the applicability of the approach. The selected test case sets are capable to reveal other kind of faults, not revealed in the pairwise testing.


Author(s):  
RUBEN HERADIO ◽  
DAVID FERNANDEZ-AMOROS ◽  
JOSE A. CERRADA ◽  
ISMAEL ABAD

In software product line engineering, feature diagrams are a popular means to represent the similarities and differences within a family of related systems. In addition, feature diagrams implicitly model valuable information that can be used in economic models to estimate the cost savings of a product line. In particular, this paper reviews existing proposals on computing the total number of products modeled with a feature diagram and, given a feature, the number of products that implement it. This paper also reviews the economic information that can be estimated when such numbers are known. Thus, this paper contributes by bringing together previously-disparate streams of work: the automated analysis of feature diagrams and economic models for product lines.


2019 ◽  
Vol 35 (6) ◽  
pp. 867-885
Author(s):  
Matheus Monteiro Mariano ◽  
Érica Ferreira de Souza ◽  
André Takeshi Endo ◽  
Nandamudi Lankalapalli Vijaykumar

Author(s):  
CLEMENS FREY

In this work a co-evolutionary approach is used in conjunction with Genetic Programming operators in order to find certain transition rules for two-step discrete dynamical systems. This issue is similar to the well-known artificial-ant problem. We seek the dynamic system to produce a trajectory leading from given initial values to a maximum of a given spatial functional.This problem is recast into the framework of input-output relations for controllers, and the optimization is performed on program trees describing input filters and finite state machines incorporated by these controllers simultaneously. In the context of Genetic Programming there is always a set of test cases which has to be maintained for the evaluation of program trees. These test cases are subject to evolution here, too, so we employ a so-called host-parasitoid model in order to evolve optimizing dynamical systems.Reinterpreting these systems as algorithms for finding the maximum of a functional under constraints, we have derived a paradigm for the automatic generation of adapted optimization algorithms via optimal control. We provide numerical examples generated by the GP-system MathEvEco. These examples refer to key properties of the resulting strategies and they include statistical evidence showing that for this problem of system identification the co-evolutionary approach is superior to standard Genetic Programming.


Author(s):  
Shahliza Abd Halim ◽  
Dayang Norhayati Abang Jawawi ◽  
Muhammad Sahak

To achieve the goal of creating products for a specific market segment, implementation of Software Product Line (SPL) is required to fulfill specific needs of customers by managing a set of common features and exploiting the variabilities between the products. Testing product-by-product is not feasible in SPL due to the combinatorial explosion of product number, thus, Test Case Prioritization (TCP) is needed to select a few test cases which could yield high number of faults. Among the most promising TCP techniques is similarity-based TCP technique which consists of similarity distance measure and prioritization algorithm. The goal of this paper is to propose an enhanced string distance and prioritization algorithm which could reorder the test cases resulting to higher rate of fault detection. Comparative study has been done between different string distance measures and prioritization algorithms to select the best techniques for similarity-based test case prioritization. Identified enhancements have been implemented to both techniques for a better adoption of prioritizing SPL test cases. Experiment has been done in order to identify the effectiveness of enhancements done for combination of both techniques. Result shows the effectiveness of the combination where it achieved highest average fault detection rate, attained fastest execution time for highest number of test cases and accomplished 41.25% average rate of fault detection. The result proves that the combination of both techniques improve SPL testing effectiveness compared to other existing techniques.  


Sign in / Sign up

Export Citation Format

Share Document