3,381 research outputs found

    A Systematic Approach for Designing Mutation Operators for MDE languages

    Get PDF
    Testing is an essential activity in software development, used to increase confidence in the quality of software. One testing approach that is used to evaluate the quality of testing inputs for a particular program is mutation analysis. The most important step in mutation analysis is the process of defining mutation operators that mimic typical errors of the users of a language. There is a wide variety of mutation operators that have been designed for a number of languages including C, Java, and SQL. However, the design of mutation operators is rarely systematic, which may result in passing over crucial operators for specific features of languages. This paper describes a way to apply mutation analysis in the context of Model Driven Engineering (MDE). In particular, the paper proposes a systematic approach for designing mutation operators for MDE languages. The systematic approach is demonstrated for the Atlas Transformation Language (ATL) and the result is a list of mutation operators that includes previously designed ones for ATL from the literature

    Towards Systematic Mutations for and with ATL Model Transformations

    Get PDF
    Model transformation is a key technique to automate software engineering tasks, such as generating implementations of software systems from higher-level models. To enable this automation, transformation engines are used to synthesize various types of software artifacts from models, where the rules according to which these artifacts are generated are implemented by means of dedicated model transformation languages. Hence, the quality of the generated software artifacts depends on the quality of the transformation rules applied to generate them. Thus, there is the need for approaches to certify their behavior for a selected set of test models. As mutation analysis has proven useful as a practical testing approach, we propose a set of mutation operators for the ATLAS Transformation Language (ATL) derived by a comprehensive language-centric synthesis approach. We describe the rationale behind each of the mutation operators and propose an automated process to generate mutants for ATL transformations based on a combination of generic mutation operators and higher-order transformations. Finally, we describe a cost-effective solution for executing the obtained mutants.European Commission ICT Policy Support Programme 317859Ministerio de Ciencia e Innovación TIN2011-2379

    The quantum dilogarithm and representations quantum cluster varieties

    Full text link
    We construct, using the quantum dilogarithm, a series of *-representations of quantized cluster varieties. This includes a construction of infinite dimensional unitary projective representations of their discrete symmetry groups - the cluster modular groups. The examples of the latter include the classical mapping class groups of punctured surfaces. One of applications is quantization of higher Teichmuller spaces. The constructed unitary representations can be viewed as analogs of the Weil representation. In both cases representations are given by integral operators. Their kernels in our case are the quantum dilogarithms. We introduce the symplectic/quantum double of cluster varieties and related them to the representations.Comment: Dedicated to David Kazhdan for his 60th birthday. The final version. To appear in Inventiones Math. The last Section of the previous versions was removed, and will become a separate pape

    Spectrum-Based Fault Localization in Model Transformations

    Get PDF
    Model transformations play a cornerstone role in Model-Driven Engineering (MDE), as they provide the essential mechanisms for manipulating and transforming models. The correctness of software built using MDE techniques greatly relies on the correctness of model transformations. However, it is challenging and error prone to debug them, and the situation gets more critical as the size and complexity of model transformations grow, where manual debugging is no longer possible. Spectrum-Based Fault Localization (SBFL) uses the results of test cases and their corresponding code coverage information to estimate the likelihood of each program component (e.g., statements) of being faulty. In this article we present an approach to apply SBFL for locating the faulty rules in model transformations. We evaluate the feasibility and accuracy of the approach by comparing the effectiveness of 18 different stateof- the-art SBFL techniques at locating faults in model transformations. Evaluation results revealed that the best techniques, namely Kulcynski2, Mountford, Ochiai, and Zoltar, lead the debugger to inspect a maximum of three rules to locate the bug in around 74% of the cases. Furthermore, we compare our approach with a static approach for fault localization in model transformations, observing a clear superiority of the proposed SBFL-based method.Comisión Interministerial de Ciencia y Tecnología TIN2015-70560-RJunta de Andalucía P12-TIC-186

    Ratio coordinates for higher Teichm\"uller spaces

    Full text link
    We define new coordinates for Fock-Goncharov's higher Teichm\"uller spaces for a surface with holes, which are the moduli spaces of representations of the fundamental group into a reductive Lie group GG. Some additional data on the boundary leads to two closely related moduli spaces, the X\mathscr{X}-space and the A\mathscr{A}-space, forming a cluster ensemble. Fock and Goncharov gave nice descriptions of the coordinates of these spaces in the cases of G=PGLmG = PGL_m and G=SLmG=SL_m, together with Poisson structures. We consider new coordinates for higher Teichm\"uller spaces given as ratios of the coordinates of the A\mathscr{A}-space for G=SLmG=SL_m, which are generalizations of Kashaev's ratio coordinates in the case m=2m=2. Using Kashaev's quantization for m=2m=2, we suggest a quantization of the system of these new ratio coordinates, which may lead to a new family of projective representations of mapping class groups. These ratio coordinates depend on the choice of an ideal triangulation decorated with a distinguished corner at each triangle, and the key point of the quantization is to guarantee certain consistency under a change of such choices. We prove this consistency for m=3m=3, and for completeness we also give a full proof of the presentation of Kashaev's groupoid of decorated ideal triangulations.Comment: 42 pages, 6 figure

    Paraiso : An Automated Tuning Framework for Explicit Solvers of Partial Differential Equations

    Full text link
    We propose Paraiso, a domain specific language embedded in functional programming language Haskell, for automated tuning of explicit solvers of partial differential equations (PDEs) on GPUs as well as multicore CPUs. In Paraiso, one can describe PDE solving algorithms succinctly using tensor equations notation. Hydrodynamic properties, interpolation methods and other building blocks are described in abstract, modular, re-usable and combinable forms, which lets us generate versatile solvers from little set of Paraiso source codes. We demonstrate Paraiso by implementing a compressive hydrodynamics solver. A single source code less than 500 lines can be used to generate solvers of arbitrary dimensions, for both multicore CPUs and GPUs. We demonstrate both manual annotation based tuning and evolutionary computing based automated tuning of the program.Comment: 52 pages, 14 figures, accepted for publications in Computational Science and Discover

    Cluster ensembles, quantization and the dilogarithm

    Get PDF
    Cluster ensemble is a pair of positive spaces (X, A) related by a map p: A -> X. It generalizes cluster algebras of Fomin and Zelevinsky, which are related to the A-space. We develope general properties of cluster ensembles, including its group of symmetries - the cluster modular group, and a relation with the motivic dilogarithm. We define a q-deformation of the X-space. Formulate general duality conjectures regarding canonical bases in the cluster ensemble context. We support them by constructing the canonical pairing in the finite type case. Interesting examples of cluster ensembles are provided the higher Teichmuller theory, that is by the pair of moduli spaces corresponding to a split reductive group G and a surface S defined in math.AG/0311149. We suggest that cluster ensembles provide a natural framework for higher quantum Teichmuller theory.Comment: Version 7: Final version. To appear in Ann. Sci. Ecole Normale. Sup. New material in Section 5. 58 pages, 11 picture

    Automatically correcting syntactic and semantic errors in ATL transformations using multi-objective optimization

    Full text link
    L’ingénierie dirigée par les modèles (EDM) est un paradigme de développement logiciel qui promeut l’utilisation de modèles en tant qu’artefacts de première plan et de processus automatisés pour en dériver d’autres artefacts tels que le code, la documentation et les cas de test. La transformation de modèle est un élément important de l’EDM puisqu’elle permet de manipuler les représentations abstraites que sont les modèles. Les transformations de modèles, comme d’autres programmes, sont sujettes à la fois à des erreurs syntaxiques et sémantiques. La correction de ces erreurs est difficile et chronophage, car les transformations dépendent du langage de transformation comme ATL et des langages de modélisation dans lesquels sont exprimés les modèles en entrée et en sortie. Les travaux existants sur la réparation des transformations ciblent les erreurs syntaxiques ou sémantiques, une erreur à la fois, et définissent manuellement des patrons de correctifs. L’objectif principal de notre recherche est de proposer un cadre générique pour corriger automatiquement de multiples erreurs syntaxiques et sémantiques. Afin d’atteindre cet objectif, nous reformulons la réparation des transformations de modèles comme un problème d’optimisation multiobjectif et le résolvons au moyen d’algorithmes évolutionnaires. Pour adapter le cadre aux deux catégories d’erreurs, nous utilisons différents types d’objectifs et des stratégies sophistiquées pour guider l’exploration de l’espace des solutions.Model-driven engineering (MDE) is a software development paradigm that promotes the use of models as first-class artifacts and automated processes to derive other artefacts from them such as code, documentation and test cases. Model transformation is an important element of MDE since it allows to manipulate the abstract representations that are models. Model transformations, as other programs are subjects to both syntactic and semantic errors. Fixing those errors is difficult and time consuming as the transformations depend on the transformation language such as ATL, and modeling languages in which input and output models are expressed. Existing work on transformation repair targets either syntactic or semantic errors, one error at a time, and define patch templates manually. The main goal of our research is to propose a generic framework to fix multiple syntactic and semantic errors automatically. In order to achieve this goal, we reformulate the repair of model transformations as a multi-objective optimization problem and solve it by means of evolutionary algorithms. To adapt the framework to the two categories of errors, we use different types of objectives and sophisticated strategies to guide the search
    corecore