658 research outputs found
Potential Errors and Test Assessment in Software Product Line Engineering
Software product lines (SPL) are a method for the development of variant-rich
software systems. Compared to non-variable systems, testing SPLs is extensive
due to an increasingly amount of possible products. Different approaches exist
for testing SPLs, but there is less research for assessing the quality of these
tests by means of error detection capability. Such test assessment is based on
error injection into correct version of the system under test. However to our
knowledge, potential errors in SPL engineering have never been systematically
identified before. This article presents an overview over existing paradigms
for specifying software product lines and the errors that can occur during the
respective specification processes. For assessment of test quality, we leverage
mutation testing techniques to SPL engineering and implement the identified
errors as mutation operators. This allows us to run existing tests against
defective products for the purpose of test assessment. From the results, we
draw conclusions about the error-proneness of the surveyed SPL design paradigms
and how quality of SPL tests can be improved.Comment: In Proceedings MBT 2015, arXiv:1504.0192
Configuration Analysis for Large Scale Feature Models: Towards Speculative-Based Solutions
Los sistemas de alta variabilidad son sistemas de software en los que la gestión de la
variabilidad es una actividad central. Algunos ejemplos actuales de sistemas de alta
variabilidad son el sistema web de gesión de contenidos Drupal, el núcleo de Linux,
y las distribuciones Debian de Linux.
La configuración en sistemas de alta variabilidad es la selección de opciones
de configuración según sus restricciones de configuración y los requerimientos de
usuario. Los modelos de características son un estándar “de facto” para modelar las
funcionalidades comunes y variables de sistemas de alta variabilidad. No obstante,
el elevado número de componentes y configuraciones que un modelo de características
puede contener hacen que el análisis manual de estos modelos sea una tarea muy
costosa y propensa a errores. Así nace el análisis automatizado de modelos de características
con mecanismos y herramientas asistidas por computadora para extraer
información de estos modelos. Las soluciones tradicionales de análisis automatizado
de modelos de características siguen un enfoque de computación secuencial para
utilizar una unidad central de procesamiento y memoria. Estas soluciones son adecuadas
para trabajar con sistemas de baja escala. Sin embargo, dichas soluciones demandan
altos costos de computación para trabajar con sistemas de gran escala y alta
variabilidad. Aunque existan recusos informáticos para mejorar el rendimiento de
soluciones de computación, todas las soluciones con un enfoque de computación secuencial
necesitan ser adaptadas para el uso eficiente de estos recursos y optimizar su
rendimiento computacional. Ejemplos de estos recursos son la tecnología de múltiples
núcleos para computación paralela y la tecnología de red para computación distribuida.
Esta tesis explora la adaptación y escalabilidad de soluciones para el analisis automatizado
de modelos de características de gran escala. En primer lugar, nosotros
presentamos el uso de programación especulativa para la paralelización de soluciones.
Además, nosotros apreciamos un problema de configuración desde otra perspectiva,
para su solución mediante la adaptación y aplicación de una solución no
tradicional. Más tarde, nosotros validamos la escalabilidad y mejoras de rendimiento
computacional de estas soluciones para el análisis automatizado de modelos de características
de gran escala.
Concretamente, las principales contribuciones de esta tesis son:
• Programación especulativa para la detección de un conflicto mínimo y
1
2
preferente. Los algoritmos de detección de conflictos mínimos determinan
el conjunto mínimo de restricciones en conflicto que son responsables de comportamiento
defectuoso en el modelo en análisis. Nosotros proponemos una
solución para, mediante programación especulativa, ejecutar en paralelo y reducir
el tiempo de ejecución de operaciones de alto costo computacional que
determinan el flujo de acción en la detección de conflicto mínimo y preferente
en modelos de características de gran escala.
• Programación especulativa para un diagnóstico mínimo y preferente. Los
algoritmos de diagnóstico mínimo determinan un conjunto mínimo de restricciones
que, por una adecuada adaptación de su estado, permiten conseguir un
modelo consistente o libre de conflictos. Este trabajo presenta una solución
para el diagnóstico mínimo y preferente en modelos de características de gran
escala mediante la ejecución especulativa y paralela de operaciones de alto
costo computacional que determinan el flujo de acción, y entonces disminuir
el tiempo de ejecución de la solución.
• Completar de forma mínima y preferente una configuración de modelo
por diagnóstico. Las soluciones para completar una configuración parcial
determinan un conjunto no necesariamente mínimo ni preferente de opciones
para obtener una completa configuración. Esta tesis soluciona el completar
de forma mínima y preferente una configuración de modelo mediante técnicas
previamente usadas en contexto de diagnóstico de modelos de características.
Esta tesis evalua que todas nuestras soluciones preservan los valores de salida esperados,
y también presentan mejoras de rendimiento en el análisis automatizado de
modelos de características con modelos de gran escala en las operaciones descrita
Towards quality assurance of software product lines with adversarial configurations
International audienceSoftware product line (SPL) engineers put a lot of effort to ensure that, through the setting of a large number of possible configuration options, products are acceptable and well-tailored to customers’ needs. Unfortunately, options and their mutual interactions create a huge configuration space which is intractable to exhaustively explore. Instead of testing all products, machine learning is increasingly employed to approximate the set of acceptable products out of a small training sample of configurations. Machine learning (ML) techniques can refine a software product line through learned constraints and a priori prevent non-acceptable products to be derived. In this paper, we use adversarial ML techniques to generate adversarial configurations fooling ML classifiers and pinpoint incorrect classifications of products (videos) derived from an industrial video generator. Our attacks yield (up to) a 100% misclassification rate and a drop in accuracy of 5%. We discuss the implications these results have on SPL quality assurance
A Formal Semantics for Feature Cardinalities in Feature Diagrams
Feature cardinalities in feature diagrams determine the num-ber of times a feature and its subtree can be duplicated dur-ing configuration by an operation named “cloning”. Other authors already investigated the problem and pub-lished different proposals of semantics for this construct. However, this previous work is not easily amenable to the formal study of the various properties of feature diagrams and their derived configurations. Also, cross-tree constraint languages still need to be properly extended to account for feature cardinalities. This paper presents an extension of an earlier formal se-mantics of feature diagrams by adding support for feature cardinalities. 1
- …