8 research outputs found
Terminology as the basis for building engineering feature-based models
Satellite operations require the combined use of different tools to support engineering ctivities and to control the spacecraft. This communication is managed by the Monitoring and Control System (MCS) that receives telemetry data from the spacecraft and releases telecommands to keep the satellite's attitude and flight path. These complex systems are developed as open platforms that can be extended and customised to support mission-specific requirements and objectives. As a general rule, it can be stated that these software applications are good candidates for implementing variability mechanisms in a structured, planned way and that their functionality is a good candidate to analyse the feasibility of applying feature-based modelling techniques. This paper describes the use of terminology analysis to build a feature model to support requirements analysis for this type of software-based systems
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
Metodología para el proceso de pruebas de software: Un estudio de caso enfocado a una empresa de software colombiana
En este trabajo se presenta una metodología de pruebas de software basada en el marco de referencia e-TOM, la cual consta de tres macroprocesos principales los cuales son planeación y estrategia del servicio, capacidad de entrega del servicio y desarrollo y retirada del servicio; con el fin de lograr una alta cobertura de pruebas y una fácil implementación en industrias de software colombiana; la cual fue validada en un caso de estudio, donde se obtuvieron mejoras en las métricas de bugs encontrados por ciclo y total de escenarios de prueba automatizados.Abstract: This paper presents a software testing methodology based on the e-TOM reference framework, which consists of three main macroprocesses, which are service planning and strategy, service delivery capacity, and development and service retirement in order to achieve high test coverage and easy implementation in Colombian software industries; this methodology was validated in a case of study, where improvements were obtained in metrics of bugs found per cycle and total of automated test scenarios.Maestrí
Probabilistic Graphical Modelling for Software Product Lines: A Frameweork for Modeling and Reasoning under Uncertainty
This work provides a holistic investigation into the realm of feature modeling within
software product lines. The work presented identifies limitations and challenges within
the current feature modeling approaches. Those limitations include, but not limited to,
the dearth of satisfactory cognitive presentation, inconveniency in scalable systems,
inflexibility in adapting changes, nonexistence of predictability of models behavior, as
well as the lack of probabilistic quantification of model’s implications and decision
support for reasoning under uncertainty. The work in this thesis addresses these
challenges by proposing a series of solutions. The first solution is the construction of a
Bayesian Belief Feature Model, which is a novel modeling approach capable of
quantifying the uncertainty measures in model parameters by a means of incorporating
probabilistic modeling with a conventional modeling approach. The Bayesian Belief
feature model presents a new enhanced feature modeling approach in terms of truth
quantification and visual expressiveness. The second solution takes into consideration
the unclear support for the reasoning under the uncertainty process, and the challenging
constraint satisfaction problem in software product lines. This has been done through the
development of a mathematical reasoner, which was designed to satisfy the model
constraints by considering probability weight for all involved parameters and quantify
the actual implications of the problem constraints. The developed Uncertain Constraint
Satisfaction Problem approach has been tested and validated through a set of designated
experiments.
Profoundly stating, the main contributions of this thesis include the following:
• Develop a framework for probabilistic graphical modeling to build the purported
Bayesian belief feature model.
• Extend the model to enhance visual expressiveness throughout the integration of
colour degree variation; in which the colour varies with respect to the predefined
probabilistic weights.
• Enhance the constraints satisfaction problem by the uncertainty measuring of the
parameters truth assumption.
• Validate the developed approach against different experimental settings to
determine its functionality and performance
Modellbasiertes Regressionstesten von Varianten und Variantenversionen
The quality assurance of software product lines (SPL) achieved via testing is a crucial and challenging activity of SPL engineering. In general, the application of single-software testing techniques for SPL testing is not practical as it leads to the individual testing of a potentially vast number of variants. Testing each variant in isolation further results in redundant testing processes by means of redundant test-case executions due to the shared commonality. Existing techniques for SPL testing cope with those challenges, e.g., by identifying samples of variants to be tested. However, each variant is still tested separately without taking the explicit knowledge about the shared commonality and variability into account to reduce the overall testing effort. Furthermore, due to the increasing longevity of software systems, their development has to face software evolution. Hence, quality assurance has also to be ensured after SPL evolution by testing respective versions of variants. In this thesis, we tackle the challenges of testing redundancy as well as evolution by proposing a framework for model-based regression testing of evolving SPLs. The framework facilitates efficient incremental testing of variants and versions of variants by exploiting the commonality and reuse potential of test artifacts and test results. Our contribution is divided into three parts. First, we propose a test-modeling formalism capturing the variability and version information of evolving SPLs in an integrated fashion. The formalism builds the basis for automatic derivation of reusable test cases and for the application of change impact analysis to guide retest test selection. Second, we introduce two techniques for incremental change impact analysis to identify (1) changing execution dependencies to be retested between subsequently tested variants and versions of variants, and (2) the impact of an evolution step to the variant set in terms of modified, new and unchanged versions of variants. Third, we define a coverage-driven retest test selection based on a new retest coverage criterion that incorporates the results of the change impact analysis. The retest test selection facilitates the reduction of redundantly executed test cases during incremental testing of variants and versions of variants. The framework is prototypically implemented and evaluated by means of three evolving SPLs showing that it achieves a reduction of the overall effort for testing evolving SPLs.Testen ist ein wichtiger Bestandteil der Entwicklung von Softwareproduktlinien (SPL). Aufgrund der potentiell sehr großen Anzahl an Varianten einer SPL ist deren individueller Test im Allgemeinen nicht praktikabel und resultiert zudem in redundanten Testfallausführungen, die durch die Gemeinsamkeiten zwischen Varianten entstehen. Existierende SPL-Testansätze adressieren diese Herausforderungen z.B. durch die Reduktion der Anzahl an zu testenden Varianten. Jedoch wird weiterhin jede Variante unabhängig getestet, ohne dabei das Wissen über Gemeinsamkeiten und Variabilität auszunutzen, um den Testaufwand zu reduzieren. Des Weiteren muss sich die SPL-Entwicklung mit der Evolution von Software auseinandersetzen. Dies birgt weitere Herausforderungen für das SPL-Testen, da nicht nur für Varianten sondern auch für ihre Versionen die Qualität sichergestellt werden muss. In dieser Arbeit stellen wir ein Framework für das modellbasierte Regressionstesten von evolvierenden SPL vor, das die Herausforderungen des redundanten Testens und der Software-Evolution adressiert. Das Framework vereint Testmodellierung, Änderungsauswirkungsanalyse und automatische Testfallselektion, um einen inkrementellen Testprozess zu definieren, der Varianten und Variantenversionen unter Ausnutzung des Wissens über gemeinsame Funktionalität und dem Wiederverwendungspotential von Testartefakten und -resultaten effizient testet. Für die Testmodellierung entwickeln wir einen Ansatz, der Variabilitäts- sowie Versionsinformation von evolvierenden SPL gleichermaßen für die Modellierung einbezieht. Für die Änderungsauswirkungsanalyse definieren wir zwei Techniken, um zum einen Änderungen in Ausführungsabhängigkeiten zwischen zu testenden Varianten und ihren Versionen zu identifizieren und zum anderen die Auswirkungen eines Evolutionsschrittes auf die Variantenmenge zu bestimmen und zu klassifizieren. Für die Testfallselektion schlagen wir ein Abdeckungskriterium vor, das die Resultate der Auswirkungsanalyse einbezieht, um automatisierte Entscheidungen über einen Wiederholungstest von wiederverwendbaren Testfällen durchzuführen. Die abdeckungsgetriebene Testfallselektion ermöglicht somit die Reduktion der redundanten Testfallausführungen während des inkrementellen Testens von Varianten und Variantenversionen. Das Framework ist prototypisch implementiert und anhand von drei evolvierenden SPL evaluiert. Die Resultate zeigen, dass eine Aufwandsreduktion für das Testen evolvierender SPL erreicht wird