13 research outputs found
Migrating GWT to Angular 6 using MDE
International audienceIn the context of a collaboration with Berger-Levrault, a major IT company, we are working on the migration of a GWT application to Angular. We focus on the GUI aspect of this migration which, even if both are web frameworks, is made difficult because they use different programming languages (Java for one, Typescript for the other) and different organization schemas (e.g. different XML files). Moreover, the new application must mimic closely the visual aspect of the old one so that the users of the application are not disturbed. We propose an approach in three steps that uses a meta-model to represent the GUI at a high abstraction level. We evaluated this approach on an application comprising 470 Java (GWT) classes representing 56 screens. We are able to model all the web pages of the application and 93% of the wid-gets they contain, and we successfully migrated (i.e., the result is visually equal to the original) 26 out of 39 pages (66%). We give examples of the migrated pages, both successful and not
GUI Migration using MDE from GWT to Angular 6: An Industrial Case
International audienceDuring the evolution of an application, it happens that developers must change the programming language. In the context of a collaboration with Berger-Levrault, a major IT company, we are working on the migration of a GWT application to Angular. We focus on the GUI aspect of this migration which, even if both frameworks are web Graphical User Interface (GUI) frameworks, is made difficult because they use different programming languages and different organization schema. Such migration is complicated by the fact that the new application must be able to mimic closely the visual aspect of the old one so that the users of the application are not disrupted. We propose an approach in four steps that uses a meta-model to represent the GUI at a high abstraction level. We evaluated this approach on an application comprising 470 Java (GWT) classes representing 56 pages. We are able to model all the web pages of the application and 93% of the widgets they contain, and we successfully migrated 26 out of 39 pages (66%). We give examples of the migrated pages, both successful and not
Appendix To Software Migration: A Theoretical Framework A Grounded Theory approach on Systematic Literature Review
Software migration has been a research subject for a long time. Major research and industrial implementations have been conducted, shaping not only the techniques available nowadays, but also a good part of Software evolution jargon. To understand systematically the literature and grasp the major concepts is challenging and time consuming. Even more, research evolves, and it does based on the assumption that there is a single meaning that we all share redounding in the pollution of words with multiple and many times opposite meanings. In our quest to understand, share and contribute scientifically in this domain, we recognise this situation as a problem. To tackle down this problem we propose a taxonomy on the subject as a theoretical framework grounded on a systematic literature review. In this study we contribute a bottom-up taxonomy that links from the object of a migration t
Challenges for Layout Validation: Lessons Learned
International audienceCompanies are migrating their software systems. The migration process contemplates many steps, UI migration is one of them. To validate the UI migration, most existing approaches rely on visual structure (DOM) comparison. However, in previous work, we experimented such validation and reported that it is not sufficient to ensure a result that is equivalent or even identical to the visual structure of the interface to be migrated. Indeed, two similar DOM may be rendered completely differently. So, we decide to focus on the layout migration validation. We propose a first visual comparison approach for migrated layout validation and experiment it on an industrial case. Hence, from this first experiment and already existing studies on image comparison field, we highlight challenges for layout comparison. For each challenge, we propose possible solutions, and we detail the three main features we need to create a good layout validation approach
Évaluation des risques et de la complexité sur le contexte de la migration linguistique
International audienceLanguage Migration is a highly risky and complex process. Many authors have provided different ways to tackle down the problem, but it still not completely resolved, even-more it is considered almost impossible on many circumstances. Despite the approaches and solutions available, no work has been done on measuring the risks and complexity of a migration process based on the technological gap. In this article we contribute a first iteration on Language Migration complexity metrics, we apply and interpret metrics on an industrial project. We end the article with a discussion and proposing future works.La migration de langage est un processus hautement risqué et complexe. De nombreux auteurs ont proposé différentes manières d'aborder le problème, mais il n'est toujours pas complètement résolu, encore plus, il est considéré comme presque impossible dans de nombreuses circonstances. Malgré les approches et les solutions disponibles, aucun travail n'a été fait pour mesurer les risques et la complexité d'un processus de migration basé sur le décalage technologique. Dans cet article, nous contribuons à une première itération sur les métriques de complexité de la migration linguistique, nous appliquons et interprétons des métriques sur un projet industriel. Nous terminons l'article par une discussion et proposons des travaux futurs
Parsing Fortran-77 with proprietary extensions
Far from the latest innovations in software development, many organizations
still rely on old code written in "obsolete" programming languages. Because
this source code is old and proven it often contributes significantly to the
continuing success of these organizations. Yet to keep the applications
relevant and running in an evolving environment, they sometimes need to be
updated or migrated to new languages or new platforms. One difficulty of
working with these "veteran languages" is being able to parse the source code
to build a representation of it. Parsing can also allow modern software
development tools and IDEs to offer better support to these veteran languages.
We initiated a project between our group and the Framatome company to help
migrate old Fortran-77 with proprietary extensions (called Esope) into more
modern Fortran. In this paper, we explain how we parsed the Esope language with
a combination of island grammar and regular parser to build an abstract syntax
tree of the code.Comment: Accepted at ICSME'23 Industrial trac
Analysing Microsoft Access Projects: Building a model in a Partially Observable Domain
International audienceDue to the technology evolution, every IT Company migrates their software systems at least once. Reengineering tools build system models which are used for running software analysis. These models are traditionally built from source code analysis and information accessible by data extractors (that we call such information observable). In this article we present the case of Microsoft Access projects and how this kind of project is partially observable due to proprietary storing formats. We propose a novel approach for building models that allows us to overcome this problem by reverse engineering the development environment runtime through the usage of Microsoft COM interface. We validate our approach and implementation by fully replicating 10 projects, 8 of them industrial, based only on our model information. We measure the repli-cation performance by measuring the errors during the process and completeness of the product. We measure the replication error, by tracking replication operations. We used the scope and completeness measure to enact this error. Completeness is measured by the instrumentation of a simple and scoped diff based on a third source of information. We present extensive results and interpretations. We discuss the threats to validity, the possibility of other approaches and the technological restrictions of our solution
Elaboración de una guÃa de migración de XML a Jetpack Compose en aplicaciones Android: un caso de estudio de modernización de software
Las interfaces de usuario de aplicaciones móviles han evolucionado mucho en los
últimos años. En concreto, en el campo del desarrollo de apps Android, originalmente
las interfaces de usuario sólo se podÃan definir mediante archivos XML basándose
en un paradigma imperativo, pero recientemente se ha introducido el paradigma
declarativo como una forma de definir interfaces de usuario mucho más efectiva, al
menos en teorÃa, mediante un nuevo kit de herramientas: Jetpack Compose.
Dada la creciente popularidad de este fenómeno y que la gran mayorÃa de interfaces
de usuario de aplicaciones Android aún siguen definidas en paradigma imperativo,
el presente Trabajo de Fin de Máster se dedica a desarrollar un caso de estudio que
se utiliza como medio de apoyo para elaborar lo que es el principal objetivo de este
trabajo: una guÃa de migración para interfaces de usuario en Android de paradigma
imperativo (XML) a paradigma declarativo (Jetpack Compose). Finalmente, basándose
en el caso de estudio, se contrastan las hipótesis planteadas en relación a los
beneficios que supone el uso de Jetpack Compose frente a XML en la construcción
de interfaces de usuario de apps Android.User interfaces in mobile applications have evolved a lot in the latest years.
Specifically, in the Android app development field, originally user interfaces could
only be defined through XML files based in an imperative paradigm, but recently the
declarative paradigm has been introduced as a much more effective way of defining
user interfaces, at least in theory, through a new toolkit: Jetpack Compose.
Given the growing popularity of this phenomenon and that the majority of
Android apps’ user interfaces are still defined in an imperative paradigm, the present
Master Thesis aims to develop a case study which is used as means of support
to work out what is the main objective in this work: a migration guide for user
interfaces in Android from imperative paradigm (XML) to declarative paradigm
(Jetpack Compose). Finally, based on the case study, the stated hypothesis related
to Jetpack Compose benefits versus XML in Android user interfaces are contrasted.Departamento de Informática (Arquitectura y TecnologÃa de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)Máster en IngenierÃa Informátic