3,381 research outputs found
A Systematic Approach for Designing Mutation Operators for MDE languages
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
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
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
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
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 . Some additional data on the
boundary leads to two closely related moduli spaces, the -space
and the -space, forming a cluster ensemble. Fock and Goncharov
gave nice descriptions of the coordinates of these spaces in the cases of and , together with Poisson structures. We consider new
coordinates for higher Teichm\"uller spaces given as ratios of the coordinates
of the -space for , which are generalizations of Kashaev's
ratio coordinates in the case . Using Kashaev's quantization for , 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 , 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
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
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
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
- …