Spelling suggestions: "subject:"pode migration"" "subject:"mode migration""
1 |
Perception and effects of implementing Kotlin in existing projects : A case study about language adoptionSundin, Emil January 2018 (has links)
The Kotlin programming language has seen an increase of adoption since its launch in 2011. In late 2017 Google announced first-class support for Kotlin on the Android platform which further popularized the language. With this increase in popularity we felt it was interesting to investigate how Kotlin affects the developer experience. We performed a case study to see how Java developers perceive the Kotlin language, and how it meets the requirements of these developers. To gather the developer requirements and their perception of Kotlin we performed two sets of interviews and rewrote parts of their codebase. The first set of interviews identified developer requirements and the second set of interviews showcased the Kotlin language and its potential use in their codebase. The results show that Kotlin can meet most of the developer requirements and that the perception of Kotlin is positive. Kotlin’s ability to be incrementally adopted was a prominent feature which reduced the inherent risks of technology adoption while providing them the ability to further evaluate the language. The expressiveness of a programming language has previously been found to be a prominent factor of language adoption. In this study, we identified the expressive nature of Kotlin as a major factor of its adoption potential.
|
2 |
Code migration of reactive programming components, from JavaScript to C++ / Kodmigrering av reaktiva programmeringskomponenter, från JavaScript till C++Rönbeck Lindahl, Sebastian January 2021 (has links)
The demands we put on the mobile applications we use continues to grow. They should be useful, elegantly designed, secure and effective. If an app does not meet those demands, it is likely that the user will replace it with another one. This thesis work was performed at Visiarc, which is a small company that is specialized at development of mobile- and web applications. They are looking for new ways of improving the performance of their apps. This study investigates whether a performance enhancement can be achieved through migrating the reactive programming components, which are being used to update the graphical user interface of their apps, from JavaScript where they currently are residing in Visiarc's system, to C++. The study explains how the new C++ system for managing reactive programming components was constructed. Two performance tests were created to compare the performance of the C++ system to the existing JavaScript system. The test results showed that further improvements to the native system are required in order to surpass the performance of the JavaScript system. What these improvements are and how to achieve them is briefly discussed.
|
3 |
Migrace a refaktorizace Netfox Detective na .NET 5 / Migration and Refactorization of Netfox Detective for .NET 5Pokorný, Šimon January 2021 (has links)
Every second, there are many attempts to attack various entities on the Internet. This is why high-quality, fast, and up-to-date tools are needed to easily analyze network traffic. Netfox Detective is one of such tools. Specifically, it is used for forensic analysis of network communication. The aim of this work is to migrate Netfox Detective to the newest version of .NET platform (.NET 5), including refactoring with respect to user experience and correct use of software design patterns. This thesis deals not only with the migration itself, but is listing common mistakes programmers make along with possible solutions to these mistakes. The chapters contain a detailed decision log that can help guide other developers to better solutions. Furthermore, the work deals with analysis and creation of unit tests and with correct use of tools for CI/CD. Fully migrated project is not the only output of this thesis. A development environment for the project has been prepared in GitLab and it is ready to be used.
|
4 |
MME-MDD : um método para manutenção e evolução de sistemas baseados no MDDArndt, Bruno Felipe 08 March 2016 (has links)
Submitted by Alison Vanceto (alison-vanceto@hotmail.com) on 2017-02-07T10:21:15Z
No. of bitstreams: 1
DissBFA.pdf: 12687971 bytes, checksum: 19789fb95e5c01987f5067e083d04248 (MD5) / Approved for entry into archive by Camila Passos (camilapassos@ufscar.br) on 2017-02-08T12:04:07Z (GMT) No. of bitstreams: 1
DissBFA.pdf: 12687971 bytes, checksum: 19789fb95e5c01987f5067e083d04248 (MD5) / Approved for entry into archive by Camila Passos (camilapassos@ufscar.br) on 2017-02-08T12:08:22Z (GMT) No. of bitstreams: 1
DissBFA.pdf: 12687971 bytes, checksum: 19789fb95e5c01987f5067e083d04248 (MD5) / Made available in DSpace on 2017-02-08T12:09:45Z (GMT). No. of bitstreams: 1
DissBFA.pdf: 12687971 bytes, checksum: 19789fb95e5c01987f5067e083d04248 (MD5)
Previous issue date: 2016-03-08 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) / Model-Driven Development (MDD) is proposed to reduce the semantic gap
between problem and solution/implementation domains. Some tools are used, and
the code generator is commonly used in this context. These generators are often
implemented using templates. A Reference Implementation (RI) favoring the development/
maintenance of software facilitates this implementation’s types. However,
RI requires a code migration process which consists in artifacts’ synchronization,
and it is responsible for 20% to 25% of the time spent on development. The literature
has no describe automatic solutions, but the group that this reaserch was
included has develop tools that automate this process and reduce the time spent on
some tasks. But each task has a different performance in relation to time spent, so
automation of some tasks can be disadvantageous. Few reports describe such tasks
and which ones are capable of automatic code migration. The aim of this study is
to investigate the maintain and evolution process to identify and describe the types
of maintain and evolution tasks that are essentially. Based on this study, a method
(MME-MDD) that drives the developer during that proccess to guide the developer
during the realization of each task, with the aim to maximize the benefits of this
approach. The MME-MDD was validated by a case study and a empirical study
and the method showed effective in most of tasks. In addition, studies show that
using the proposed method brought a gain in the quality of the source code. / O MDD (Model-Driven Development) tem como proposta a redução da
distância semântica entre os domínios problema e solução/implementação. Para
isso, são utilizadas algumas ferramentas, sendo o gerador de código comumente
usado neste contexto. Os geradores de código são frequentemente implementados
com a utilização de templates. Para facilitar este tipo de implementação, usualmente
é empregado uma Implementação de Referência (IR), favorecendo a evolução/
manutenção do software. Contudo, a IR traz a necessidade do processo de
migração de código, que consiste na sincronização entre o seu código-fonte e os
templates, sendo que este é responsável por 20 a 25% do tempo gasto no desenvolvimento.
Na literatura não há relatos de solução automatizada, mas o grupo no qual
esta pesquisa se insere vem desenvolvendo ferramentas que automatizam este processo
e reduzem o tempo aplicado em algumas tarefas testadas. Porém, cada tarefa
tem um desempenho diferente em relação ao tempo gasto e, portanto, a automação
de algumas tarefas pode ser desvantajosa. Existem poucos relatos na literatura descrevendo
tais tarefas e quais são os passos necessários para realizá-las. O objetivo
deste estudo foi a investigação do processo de manutenção e evolução de sistemas
baseados em MDD com a finalidade de identificar e descrever os tipos de tarefas
de manutenção e evolução. Com base nesse estudo, foi elaborado o método MMEMDD
que conduz o desenvolvedor durante o processo de manutenção e evolução de
sistemas, visando guiar o desenvolvedor durante a realização de cada um dos tipos
de tarefas, com o intuito de maximizar os benefícios da utilização dessa abordagem.
O método foi validado por meio de um estudo de caso e um estudo experimental,
sendo que o método se mostrou efetivo em grande parte das tarefas testadas. Além
disso, os estudos apontaram que a utilização do método proposto trouxe ganho na
qualidade do código-fonte.
|
5 |
Uma abordagem para migração automática de código no contexto do desenvolvimento orientado a modelosPossatto, Marcos Antonio 22 October 2013 (has links)
Made available in DSpace on 2016-06-02T19:06:10Z (GMT). No. of bitstreams: 1
5666.pdf: 3321258 bytes, checksum: c402c2fb8a619d07842991622736ea5a (MD5)
Previous issue date: 2013-10-22 / Universidade Federal de Minas Gerais / Code generators play a key role in model-driven software development. They are responsible for transforming high-level assets (models) into implementation assets (code). Most generators are based on templates, which are pieces of text instrumented with code expansion elements. They receive an input and produce an output according to the template's programming. To build such template-based generators, the code of an existing implementation, already tested and validated, can be used as a reference, in a process known as code migration. With software evolution and the need for changes in the code generator, the templates start to differ from this reference implementation. In order to restablish the synchronization, additional effort is required. Tackling the challenge of keeping these assets synchronized (reference implementation and templates) is this dissertation's subject. The goal is to provide some automation to the code migration process, even if partial, in order to increase productivity in the maintenance of code generators. A mechanism was developed to make it possible to automatically reproduce changes that are performed in the reference implementation into one or more code generation templates. This mechanism was evaluated through an empirical study, yielding good performance in a controlled environment. This indicates that automation can help to reduce the effort in the maintenance of code generators in a model-driven development context. / Os geradores de código desempenham um papel fundamental no desenvolvimento de software orientado a modelos. São responsáveis pela transformação dos artefatos de alto nível de abstração (modelo) em elementos de implementação (código). Os tipos mais comuns de geradores são os baseados em template. São compostos fundamentalmente por elementos de expansão de código, que recebem uma entrada e a convertem em código, conforme a programação inserida nesses templates. O código de uma implementação já testado e validado pode servir de referência para a criação de templates, por meio de um processo conhecido como migração de código. Com a dinâmica da evolução do software e a necessidade de efetuar mudanças no gerador de código ocorre a perda de sincronismo entre os templates e esse código de referência, sendo necessário um esforço adicional para mantê-los sincronizados. O desafio de manter esses artefatos sincronizados constituiu o objetivo desta dissertação de mestrado, que proporcionou ganhos de produtividade, por meio de uma automação, ainda que parcial, desse processo. Nesse sentido, foi desenvolvido um mecanismo para propagar automaticamente as alterações introduzidas no código de referência para os templates, que reduziu o tempo e facilitou a manutenção de geradores de código que sofrem com o problema da perda de sincronismo nesses artefatos. O protótipo para a migração automática de código desenvolvido nesta dissertação foi submetido a um estudo empírico, atingindo um bom desempenho com a sua utilização na maioria das tarefas de migração de código avaliadas, o que indica que a automação pode ajudar a resolver o problema e reduzir o esforço de manutenção no desenvolvimento de software orientado a modelos.
|
Page generated in 0.0971 seconds