Results 11 -
18 of
18
Gestión de la Variabilidad en Líneas de Producto Software
"... 1.2. Gestión de la Variabilidad.................................. 6 1.3. Contenido de la memoria................................... 7 2. Expresión de la variabilidad..................................... 8 2.1. Características como abstracción de los requisitos............. 8 2.2. Modelos de Caracter ..."
Abstract
- Add to MetaCart
1.2. Gestión de la Variabilidad.................................. 6 1.3. Contenido de la memoria................................... 7 2. Expresión de la variabilidad..................................... 8 2.1. Características como abstracción de los requisitos............. 8 2.2. Modelos de Características................................. 8 2.3. Extensiones de los Modelos de Características................. 9 2.4. Puntos de variabilidad y niveles de variabilidad............... 11 2.5. Evolución de la variabilidad................................ 13 3. Gestión de la variabilidad I: Diseño.............................. 14 3.1. Variabilidad a nivel de arquitectura.......................... 14 3.2. Variabilidad a nivel de componentes......................... 15
A Model-Driven Approach for Developing Self-Adaptive Pervasive Systems ⋆
"... Abstract. Adaptive systems are generally difficult to implement, and their quality depends much on the designer experience or creativity. This paper presents a model driven approach to develop adaptive systems by means of run-time models. Our approach applies techniques from the Software Product Lin ..."
Abstract
- Add to MetaCart
Abstract. Adaptive systems are generally difficult to implement, and their quality depends much on the designer experience or creativity. This paper presents a model driven approach to develop adaptive systems by means of run-time models. Our approach applies techniques from the Software Product Lines (SPLs) to address the different requirements of evolution and involution scenarios in Pervasive Systems. Finally, we show how models drive the adaptation in order to dynamically change the system architecture. 1
An Algorithm for Quantifying the Program Variability Induced by Conditional Compilation
, 2010
"... The C Preprocessor (CPP) provides the programmer with powerful means to implement variability. Therefore the tool CPP is an important standard asset in the development toolchain for classical system software written in C. Yet, nobody has seriously quantified the effects of implementing variability w ..."
Abstract
- Add to MetaCart
The C Preprocessor (CPP) provides the programmer with powerful means to implement variability. Therefore the tool CPP is an important standard asset in the development toolchain for classical system software written in C. Yet, nobody has seriously quantified the effects of implementing variability with conditional compilation. In this report we describe conditional compilation in a semi-formal way. On this basis, we present an algorithm that is able to calculate the resulting variability. With this, we believe that further analysis on variability caused by preprocessor based configuration can be supported. This is useful to detect bugs caused by inconsistencies between variability models in the actual implementation and to support exploration of actually implemented variability in source artifacts.
Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines
"... Abstract—Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to ..."
Abstract
- Add to MetaCart
Abstract—Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to test SPLs by generating test cases that cover all possible T feature interactions (T-wise). T-wise dramatically reduces the number of test products while ensuring reasonable SPL coverage. However, automatic generation of test cases satisfying T-wise using SAT solvers raises two issues. The encoding of SPL models and T-wise criteria into a set of formulas acceptable by the solver and their satisfaction which fails when processed “all-at-once”. We propose a scalable toolset using Alloy to automatically generate test cases satisfying T-wise from SPL models. We define strategies to split T-wise combinations into solvable subsets. We design and compute metrics to evaluate strategies on AspectOPTIMA, a concrete transactional SPL.
Optimizing the Product Derivation Process
"... Abstract—Feature modeling is widely used in software product-line engineering to capture the commonalities and variabilities within an application domain. As feature models evolve, they can become very complex with respect to the number of features and the dependencies among them, which can cause th ..."
Abstract
- Add to MetaCart
Abstract—Feature modeling is widely used in software product-line engineering to capture the commonalities and variabilities within an application domain. As feature models evolve, they can become very complex with respect to the number of features and the dependencies among them, which can cause the product derivation based on feature selection to become quite time consuming and error prone. We address this problem by presenting techniques to find good feature selection sequences that are based on the number of products that contain a particular feature and the impact of a selected feature on the selection of other features. Specifically, we identify a feature selection strategy, which brings up highly selective features early for selection. By prioritizing feature selection based on the selectivity of features our technique makes the feature selection process more efficient. Moreover, our approach helps with the problem of unexpected side effects of feature selection in later stages of the selection process, which is commonly considered a difficult problem. We have run our algorithm on the e-Shop and Berkeley DB feature models and also on some automatically generated feature models. The evaluation results demonstrate that our techniques can shorten the product derivation processes significantly.
Feature Model Validation: A Constraint Propagation-Based Approach
"... Abstract- Feature model validation aims to identify errors in feature models. The two major errors, called dead features and false variable features, are caused by contradictory feature relationships in a feature model. Current existing approaches use constraint satisfaction problem (CSP) and CSP so ..."
Abstract
- Add to MetaCart
Abstract- Feature model validation aims to identify errors in feature models. The two major errors, called dead features and false variable features, are caused by contradictory feature relationships in a feature model. Current existing approaches use constraint satisfaction problem (CSP) and CSP solvers to identify these feature model errors. However, CSP is a NPcomplete problem and CSP solvers reveal a weak time performance. To overcome this limitation, we develop a constraint propagation based approach to identify dead features and false variable features. The correctness and efficiency of our approach is compared with a well known feature model validation tool, called FAMA, based on a number of large-size feature models which are randomly generated. The time spent for identifying feature model errors is significantly reduced from O (2 n) required by FAMA which uses CSP solvers to O (n 2), while both approaches identified the same set of errors for all the evaluated feature models.
Author manuscript, published in "International Conference on Software Testing (2010)" Automated and Scalable T-wise Test Case Generation Strategies for Software Product Lines
, 2010
"... Abstract—Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to ..."
Abstract
- Add to MetaCart
Abstract—Software Product Lines (SPL) are difficult to validate due to combinatorics induced by variability across their features. This leads to combinatorial explosion of the number of derivable products. Exhaustive testing in such a large space of products is infeasible. One possible option is to test SPLs by generating test cases that cover all possible T feature interactions (T-wise). T-wise dramatically reduces the number of test products while ensuring reasonable SPL coverage. However, automatic generation of test cases satisfying T-wise using SAT solvers raises two issues. The encoding of SPL models and T-wise criteria into a set of formulas acceptable by the solver and their satisfaction which fails when processed “all-at-once”. We propose a scalable toolset using Alloy to automatically generate test cases satisfying T-wise from SPL models. We define strategies to split T-wise combinations into solvable subsets. We design and compute metrics to evaluate strategies on AspectOPTIMA, a concrete transactional SPL.
Evolutionary Search-based Test Generation for Software Product Line Feature Models
"... Abstract. Product line-based software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances rapid and low cost development of new applications based on reuse engineering principles. Des ..."
Abstract
- Add to MetaCart
Abstract. Product line-based software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances rapid and low cost development of new applications based on reuse engineering principles. Despite the numerous advantages of software product lines, it is quite challenging to comprehensively test them. This is due to the fact that a product line can potentially represent many different applications; therefore, testing a single product line requires the test of its various applications. Theoretically, a product line with n software features can be a source for the development of 2 n application. This requires the test of 2 n applications if a brute-force comprehensive testing strategy is adopted. In this paper, we propose an evolutionary testing approach based on Genetic Algorithms to explore the configuration space of a software product line feature model in order to automatically generate test suites. We will show through the use of several publicly-available product line feature models that the proposed approach is able to generate test suites of O(n) size complexity as opposed to O(2 n) while at the same time form a suitable tradeoff balance between error coverage and feature coverage in its generated test suites. 1

