As in many other research areas, the use of Deep Learning (DL) techniques is growing in software engineering. However, these techniques are not yet widespread in the Model-Driven Engineering (MDE) field. In this paper, we explore the use of DL to extract useful text embeddings out of software models. We propose a novel approach to embedding software models by means of transformer architectures trained on large datasets. Our approach combines intermediate representations and Language Models (LMs) to extract features from modelling artefacts in order to enable applications of interest, like intelligent model assistance, classification, transformation,completion and correction, among others. We show that the approach is potentially useful in MDE and may lead to useful results in the future.
Autores: Luis Mata / Juan de Lara / Esther Guerra /
Palabras Clave: Deep Learning - Language Models - Machine Learning - Model-Driven Engineering - Vector Embeddings
Recommender systems are information filtering systems used in many online applications like music and video broadcasting and e-commerce platforms, and they are also increasingly applied to facilitate software engineering activities. Following this trend, we are witnessing a growing research interest on recommendation approaches that assist with modelling tasks and model-based development processes. In this paper, we report on a systematic mapping review that classifies the existing research work on recommender systems for model-driven engineering (MDE). This study aims to serve as a guide for tool builders and researchers in understanding the MDE tasks that might be subject to recommendations, the applicable recommendation techniques and evaluation methods, and the open challenges and opportunities in this field of research.
Autores: Lissette Almonte / Esther Guerra / Iván Cantador / Juan De Lara /
Palabras Clave: Model-Driven Engineering - Recommender Systems - Systematic Mapping Review
Mutation testing is a technique to assess test suite adequacy to distinguish between correct and incorrect programs. Mutation testing applies one or more small changes to a program to obtain variants called mutants. The adequacy of a test suite is measured by determining how many of the mutants it distinguishes from the original program. There are many works about mutation testing, but the existing approaches focus on a specific programming language, and usually, it is not easy to customize the set of mutation operators. In this paper, we present Wodel-Test, an extension of the Wodel tool that implements a language-independent mutation testing framework based on model-driven engineering principles.
Autores: Pablo Gómez-Abajo / Esther Guerra / Juan de Lara / Mercedes G. Merayo /
Palabras Clave: Domain Specific Languages - model mutation - Model-Driven Engineering - Mutation testing - reverse engineering
In Model-Driven Engineering the creation of Domain-Specific Modelling Languages (DSMLs) is a recurrent demanding task. Usually DSMLs are built in an ad-hoc manner and the generated environments do not scale well to face scenarios with complex systems. To improve this situation, we propose an approach to facilitate the engineering of DSMLs through a catalogue of patterns and a set of wizards to reduce the implementation time of such environments. Our approach is supported by a tool called EMFSplitter, which proposes a Modularity pattern to fragment the models and a Graphical Representation pattern, for the definition of graphical and tabular syntax.
Autores: Antonio Garmendia / Esther Guerra / Juan De Lara /
Palabras Clave: Domain-Specific Modelling Languages - Graphical Modelling Environments - Meta-modelling - Modularity - Scalable Modelling
Titulo: Collaborative Modeling and Group Decision Making Using Chatbots in Social NetworksAutores: Sara Perez-Soler, Esther Guerra, Juan de LaraRevista de publicación: IEEE SoftwareVolume: 35, Issue: 6, Noviembre/Diciembre 2018, pp.: 48-54, DOI: 10.1109/MS.2018.290101511Índice de impactor JCR (2017): 2,879Ranking: Q1 en Ingeniería del SoftwareAbstract: El modelado se usa en las fases iniciales del desarrollo de software para discutir y explorar problemas, comprender dominios, evaluar alternativas y comprender sus implicaciones. En este contexto, el modelado es inherentemente colaborativo porque involucra a participantes con diferentes conocimientos y experiencia, que cooperan para crear una solución basada en el consenso.Sin embargo, las herramientas de modelado actuales suelen proporcionar editores de diagramas difíciles de manejar, lo que podría obstaculizar la participación activa de los expertos en el dominio. Además, carecen de mecanismos para facilitar la toma de decisiones.Para abordar estos problemas, nuestra propuesta es integrar el modelado dentro de las redes sociales, de modo que la interfaz de modelado es el lenguaje natural que un chatbot interpreta para derivar un modelo de dominio apropiado. Las redes sociales proporcionan mecanismos intuitivos de discusión, y el uso del lenguaje natural reduce la barrera de entrada al modelado a los expertos en el dominio. Además, nuestro enfoque facilita la elección entre varias alternativas de modelado, utilizando como mecanismo de toma de decisiones el consenso. Como soporte a esta propuesta, hemos desarrollado la herramienta SOCIO, que funciona enredes sociales como Telegram.
Autores: Sara Perez-Soler / Esther Guerra / Juan De Lara /
Palabras Clave: Chatbots - Desarrollo dirigido por modelos - Ingeniería del Software - Modelado Colaborativo - Redes sociales - Toma de Decisión
Mutation testing (MT) targets the assessment of test cases by measuring their efficiency to detect faults. This technique involves modifying the program under test to emulate programming faults, and assessing whether the existing test cases detect such mutations. MT has been extensively studied since the 70’s, and many tools have been proposed for widely used languages like C, Java, Fortran, Ada and SQL+ADs and for notations like Petri-nets. However, building MT tools is costly and error-prone, which may prevent their development for new programming and domain-specific (modelling) languages.In this paper, we propose a framework called Wodel-Test to reduce the effort to create MT tools. For this purpose, it follows a model-driven approach by which MT tools are synthesized from a high-level description. This description makes use of the domain-specific language Wodel to define and execute model mutations. Wodel is language-independent, as it allows the creation of mutation operators for any language defined by a meta-model. Starting from the definition of the mutation operators, Wodel-Test generates a MT environment which parses the program under test into a model, applies the mutation operators, and evaluates the test-suite against the generated mutants, offering a rich collection of MT metrics. We report on an evaluation of the approach based on the creation of MT tools for Java and the Atlas transformation language.
Autores: Pablo Gómez-Abajo / Esther Guerra / Juan de Lara / Mercedes Merayo /
Palabras Clave: Domain Specific Languages - Java - model mutation - Model Transformation - Model-Driven Engineering - Mutation testing