3,121 research outputs found

    Scalable model exploration through abstraction and fragmentation strategies

    Full text link
    Also published online by CEUR Workshop Proceedings (CEUR-WS.org, ISSN 1613-0073) Model-Driven Engineering (MDE) promotes the use of models to conduct all phases of software development in an automated way. However, for complex systems, these models may become large and unwieldy, and hence difficult to process and comprehend. In order to alleviate this situation, we explore the combination of model fragmentation strategies, to split models into more manageable chunks; and model abstraction and visualization mechanisms, able to provide simpler views of the models. The feasibility of this combination is confirmed based on an evaluation over a synthetic models, and the model sets of the GraBaTs’09 contest.Work supported by the Spanish Ministry of Economy and Competitivity (TIN2011-24139, TIN2014-52129-R), the EU commission (FP7-ICT-2013-10, #611125) and the Community of Madrid (S2013/ICE-3006

    Automated Test Input Generation for Android: Are We There Yet?

    Full text link
    Mobile applications, often simply called "apps", are increasingly widespread, and we use them daily to perform a number of activities. Like all software, apps must be adequately tested to gain confidence that they behave correctly. Therefore, in recent years, researchers and practitioners alike have begun to investigate ways to automate apps testing. In particular, because of Android's open source nature and its large share of the market, a great deal of research has been performed on input generation techniques for apps that run on the Android operating systems. At this point in time, there are in fact a number of such techniques in the literature, which differ in the way they generate inputs, the strategy they use to explore the behavior of the app under test, and the specific heuristics they use. To better understand the strengths and weaknesses of these existing approaches, and get general insight on ways they could be made more effective, in this paper we perform a thorough comparison of the main existing test input generation tools for Android. In our comparison, we evaluate the effectiveness of these tools, and their corresponding techniques, according to four metrics: code coverage, ability to detect faults, ability to work on multiple platforms, and ease of use. Our results provide a clear picture of the state of the art in input generation for Android apps and identify future research directions that, if suitably investigated, could lead to more effective and efficient testing tools for Android

    Engineering scalable modelling Languages

    Full text link
    Tesis doctoral inédita leída en la Universidad Autónoma de Madrid, Escuela Politécnica Superior, Departamento de Ingeniería Informática. Fecha de lectura: 08-11-2019Esta tesis tiene embargado el acceso al texto completo hasta el 08-05-2021Model-Driven Engineering (MDE) aims at reducing the cost of system development by raising the level of abstraction at which developers work. MDE-based solutions frequently involve the creation of Domain-Specific Modelling Languages (DSMLs). WhilethedefinitionofDSMLsandtheir(sometimesgraphical)supportingenvironments are recurring activities in MDE, they are mostly developed ad-hoc from scratch. The construction of these environments requires high expertise by developers, which currently need to spend large efforts for their construction. This thesis focusses on the development of scalable modelling environments for DSMLs based on patterns. For this purpose, we propose a catalogue of modularity patterns that can be used to extend a modelling language with services related to modularization and scalability. More specifically, these patterns allows defining model fragmentation strategies, scoping and visibility rules, model indexing services, and scoped constraints. Once the patterns have been applied to the meta-model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. A second contribution of this thesis is a set of concepts and technologies to facilitate the creation of graphical editors. For this purpose, we define heuristics which identify structures in the DSML abstract syntax, and automatically assign their diagram representation. Using this approach, developers can create a graphical representation by default from a meta-model, which later can be customised. These contributions have been implemented in two Eclipse plug-ins called EMFSplitter and EMF-Stencil. On one hand, EMF-Splitter implements the catalogue of modularity patterns and, on the other hand, EMF-Stencil supports the heuristics and the generation of a graphical modelling environment. Both tools were evaluated in different case studies to prove their versatility, efficiency, and capabilitieEl Desarrollo de Software Dirigido por Modelos (MDE, por sus siglas en inglés) tiene como objetivo reducir los costes en el desarrollo de aplicaciones, elevando el nivel de abstracciónconelqueactualmentetrabajanlosdesarrolladores. Lassolucionesbasadas en MDE frecuentemente involucran la creación de Lenguajes de Modelado de Dominio Específico (DSML, por sus siglas en inglés). Aunque la definición de los DSMLs y sus entornos gráficos de modelado son actividades recurrentes en MDE, actualmente en la mayoría de los casos se desarrollan ad-hoc desde cero. La construcción de estos entornos requiere una alta experiencia por parte de los desarrolladores, que deben realizar un gran esfuerzo para construirlos. Esta tesis se centra en el desarrollo de entornos de modelado escalables para DSML basados en patrones. Para ello, se propone un catálogo de patrones de modularidad que se pueden utilizar para extender un lenguaje de modelado con servicios relacionados con la modularización y la escalabilidad. Específicamente, los patrones permiten definir estrategias de fragmentación de modelos, reglas de alcance y visibilidad, servicios de indexación de modelos y restricciones de alcance. Una vez que los patrones se han aplicado al meta-modelo de un lenguaje de modelado, se puede generar automáticamente un entorno de modelado personalizado enriquecido con los servicios definidos, que se vuelven aplicables tanto a los modelos monolíticos existentes, como a los nuevos modelos. Una segunda contribución de esta tesis es la propuesta de conceptos y tecnologías para facilitar la creación de editores gráficos. Para ello, definimos heurísticas que identifican estructuras en la sintaxis abstracta de los DSMLs y asignan automáticamente su representación en el diagrama. Usando este enfoque, los desarrolladores pueden crear una representación gráfica por defecto a partir de un meta-modelo. Estas contribuciones se implementaron en dos plug-ins de Eclipse llamados EMFSplitter y EMF-Stencil. Por un lado, EMF-Splitter implementa el catálogo de patrones y, por otro lado, EMF-Stencil implementa las heurísticas y la generación de un entorno de modelado gráfico. Ambas herramientas se han evaluado con diferentes casos de estudio para demostrar su versatilidad, eficiencia y capacidade

    MONDO: Scalable Modelling and Model Management on the Cloud

    Get PDF
    International audienceAchieving scalability in modelling and MDE involves being able to construct large models and domain-specific languages in a systematic manner, enabling teams of modellers to construct and refine large models in collaboration, advancing the state of the art in model querying and transformations tools so that they can cope with large models (of the scale of millions of model elements), and providing an infrastructure for efficient storage, indexing and retrieval of large models. This paper outlines how MONDO, a collaborative EC-funded project, contributes to tackling some of these scalability-related challenges

    Photochemical Approaches to Complex Chemotypes: Applications in Natural Product Synthesis.

    Full text link
    The use of photochemical transformations is a powerful strategy that allows for the formation of a high degree of molecular complexity from relatively simple building blocks in a single step. A central feature of all light-promoted transformations is the involvement of electronically excited states, generated upon absorption of photons. This produces transient reactive intermediates and significantly alters the reactivity of a chemical compound. The input of energy provided by light thus offers a means to produce strained and unique target compounds that cannot be assembled using thermal protocols. This review aims at highlighting photochemical transformations as a tool for rapidly accessing structurally and stereochemically diverse scaffolds. Synthetic designs based on photochemical transformations have the potential to afford complex polycyclic carbon skeletons with impressive efficiency, which are of high value in total synthesis.R01 GM073855 - NIGMS NIH HHS; R01 GM096129 - NIGMS NIH HHS; R35 GM118173 - NIGMS NIH HH

    Automating Software Development for Mobile Computing Platforms

    Get PDF
    Mobile devices such as smartphones and tablets have become ubiquitous in today\u27s computing landscape. These devices have ushered in entirely new populations of users, and mobile operating systems are now outpacing more traditional desktop systems in terms of market share. The applications that run on these mobile devices (often referred to as apps ) have become a primary means of computing for millions of users and, as such, have garnered immense developer interest. These apps allow for unique, personal software experiences through touch-based UIs and a complex assortment of sensors. However, designing and implementing high quality mobile apps can be a difficult process. This is primarily due to challenges unique to mobile development including change-prone APIs and platform fragmentation, just to name a few. in this dissertation we develop techniques that aid developers in overcoming these challenges by automating and improving current software design and testing practices for mobile apps. More specifically, we first introduce a technique, called Gvt, that improves the quality of graphical user interfaces (GUIs) for mobile apps by automatically detecting instances where a GUI was not implemented to its intended specifications. Gvt does this by constructing hierarchal models of mobile GUIs from metadata associated with both graphical mock-ups (i.e., created by designers using photo-editing software) and running instances of the GUI from the corresponding implementation. Second, we develop an approach that completely automates prototyping of GUIs for mobile apps. This approach, called ReDraw, is able to transform an image of a mobile app GUI into runnable code by detecting discrete GUI-components using computer vision techniques, classifying these components into proper functional categories (e.g., button, dropdown menu) using a Convolutional Neural Network (CNN), and assembling these components into realistic code. Finally, we design a novel approach for automated testing of mobile apps, called CrashScope, that explores a given android app using systematic input generation with the intrinsic goal of triggering crashes. The GUI-based input generation engine is driven by a combination of static and dynamic analyses that create a model of an app\u27s GUI and targets common, empirically derived root causes of crashes in android apps. We illustrate that the techniques presented in this dissertation represent significant advancements in mobile development processes through a series of empirical investigations, user studies, and industrial case studies that demonstrate the effectiveness of these approaches and the benefit they provide developers

    Task-based Adaptation of Graphical Content in Smart Visual Interfaces

    Get PDF
    To be effective visual representations must be adapted to their respective context of use, especially in so-called Smart Visual Interfaces striving to present specifically those information required for the task at hand. This thesis proposes a generic approach that facilitate the automatic generation of task-specific visual representations from suitable task descriptions. It is discussed how the approach is applied to four principal content types raster images, 2D vector and 3D graphics as well as data visualizations, and how existing display techniques can be integrated into the approach.Effektive visuelle Repräsentationen müssen an den jeweiligen Nutzungskontext angepasst sein, insbesondere in sog. Smart Visual Interfaces, welche anstreben, möglichst genau für die aktuelle Aufgabe benötigte Informationen anzubieten. Diese Arbeit entwirft einen generischen Ansatz zur automatischen Erzeugung aufgabenspezifischer Darstellungen anhand geeigneter Aufgabenbeschreibungen. Es wird gezeigt, wie dieser Ansatz auf vier grundlegende Inhaltstypen Rasterbilder, 2D-Vektor- und 3D-Grafik sowie Datenvisualisierungen anwendbar ist, und wie existierende Darstellungstechniken integrierbar sind

    Designing and evaluating the usability of a machine learning API for rapid prototyping music technology

    Get PDF
    To better support creative software developers and music technologists' needs, and to empower them as machine learning users and innovators, the usability of and developer experience with machine learning tools must be considered and better understood. We review background research on the design and evaluation of application programming interfaces (APIs), with a focus on the domain of machine learning for music technology software development. We present the design rationale for the RAPID-MIX API, an easy-to-use API for rapid prototyping with interactive machine learning, and a usability evaluation study with software developers of music technology. A cognitive dimensions questionnaire was designed and delivered to a group of 12 participants who used the RAPID-MIX API in their software projects, including people who developed systems for personal use and professionals developing software products for music and creative technology companies. The results from the questionnaire indicate that participants found the RAPID-MIX API a machine learning API which is easy to learn and use, fun, and good for rapid prototyping with interactive machine learning. Based on these findings, we present an analysis and characterization of the RAPID-MIX API based on the cognitive dimensions framework, and discuss its design trade-offs and usability issues. We use these insights and our design experience to provide design recommendations for ML APIs for rapid prototyping of music technology. We conclude with a summary of the main insights, a discussion of the merits and challenges of the application of the CDs framework to the evaluation of machine learning APIs, and directions to future work which our research deems valuable

    Design Space Exploration for Partially Reconfigurable Architectures in Real-Time Systems

    Get PDF
    International audienceIn this paper, we introduce FoRTReSS (Flow for Reconfigurable archiTectures in Real-time SystemS), a methodology for the generation of partially reconfigurable architectures with real-time constraints, enabling Design Space Exploration (DSE) at the early stages of the development. FoRTReSS can be completely integrated into existing partial reconfiguration flows to generate physical constraints describing the architecture in terms of reconfigurable regions that are used to floorplan the design, with key metrics such as partially reconfigurable area, real-time or external fragmentation. The flow is based upon our SystemC simulator for real-time systems that helps develop and validate scheduling algorithms with respect to application timing constraints and partial reconfiguration physical behaviour. We tested our approach with a video stream encryption/decryption application together with Error Correcting Code and showed that partial reconfiguration may lead to an area improvement up to 38% on some resources without compromising application performance, in a very small amount of time: less than 30 s
    • …
    corecore