Due to the importance of models in the software engineering process, it is crucial to keep them free of errors and assure their quality. As part of our research, we are developing PARMOREL, a tool for personalized and automatic model repair. PARMOREL uses reinforcement learning to find the best sequence of actions for repairing a broken model according to preferences chosen by the user. In this paper, we present a proposal for integrating quality assurance into PARMOREL. We describe an architecture that would allow PARMOREL to learn to automatically repair models with high quality.
Autores: Angela Barriga / Adrian Rutle / Rogardt Heldal /
Palabras Clave: Model repair - Quality - Reinforcement learning
En el Desarrollo Software Dirigido por Modelos, el desarrollo y mantenimiento de transformaciones entre modelos conlleva grandes costes. La definición de pruebas permite mejorar la calidad y reducir los costes de estos procesos. Sin embargo, hasta ahora no se ha considerado la sobrecarga introducida por las actuales propuestas de pruebas. En este trabajo, se identifican las principales fuentes de sobrecarga en propuestas de pruebas basadas en contratos.
Autores: Roberto Rodriguez-Echeverria / Fernando Macías / Jose Maria Conejero / Juan Carlos Preciado / Alvaro Prieto / Adrian Rutle /
Palabras Clave: Desarrollo Software Dirigido por Modelos - Especificación basada en contratos - Pruebas de Transformaciones de Modelos - Sobrecarga
En este trabajo se presenta la propuesta MoTES (Model Transformation TEst Specification) que utiliza técnicas de testing de modelos basadas en contratos para asistir a los ingenieros encargados de la evolución y reparación de las transformaciones de modelos.MoTES utiliza contratos para especificar el comportamiento esperado de la transformación de modelos a probar.Estos contratos actúan como oráculos de pares de elementos entre los modelos de entrada y salida, generados al ejecutar la transformación en pruebas con modelos de entrada concretos. Mediante el procesamiento del modelo de salida del oráculo de test, se calculan las métricas precision y recall para cada patrón de salida. Los resultados de estas métricas se categorizan para simplificar su interpretación: MoTES define 8 posibles casos distintos. Además, si existe información de trazabilidad de la transformación en pruebas para cada patrón de salida, es posible clasificar cada regla de transformación relacionada según su impacto en las métricas, p.ej. el número de positivos correctos generados. MoTES define 37 casos para esta clasificación, cada uno de los cuales est+AOE asociado con una acción abstracta de reparación de una regla, como relajar el filtro de entrada de una regla. En este trabajo se presenta una completa evaluación mediante el análisis de tres casos de estudio diferentes. Como resultados principales, se concluye que nuestra propuesta es capaz de (1) detectar los errores de la transformación, (2) localizar la regla que falla y (3) sugerir las acciones de reparación adecuadas, reduciendo significativamente el esfuerzo de los ingenieros de pruebas.
Autores: Roberto Rodriguez-Echeverria / Fernando Macías / Adrian Rutle / Jose Maria Conejero /
Palabras Clave: Adaptations - Evolution - Fault Localization - Model Transformation - Repairing - Testing - Testing Oracle - Verification