Use este identificador para citar ou linkar para este item:
http://repositorio.ufla.br/jspui/handle/1/46129
Título: | Uma abordagem para atualização de forks frente ao projeto original |
Título(s) alternativo(s): | An approach for updating forks against the original project |
Autores: | Villela, Ricardo Terra Nunes Bueno André Gustavo Duarte de Almeida Costa, Heitor Augustus Xavier Souza, Mauricio Ronny de Almeida |
Palavras-chave: | Evolução de software Atualização de fork Conflitos de mesclagem Software evolution Fork update Merge conflicts |
Data do documento: | 22-Fev-2021 |
Editor: | Universidade Federal de Lavras |
Citação: | MARCONDES, A. R. Uma abordagem para atualização de forks frente ao projeto original. 2021. 103 p. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Lavras, Lavras, 2021. |
Resumo: | Several software projects start from an existing project. This practice, in the VCS ecosystem, is called fork. For instance, the Bootstrap project, initially developed on Twitter, has in December 2020 more than 68,000 forks, which indicates that several projects started from the Bootstrap source code at a certain moment and are being customized. The problem occurs when customized projects want to obtain updates from the original project, i.e., new features, bug fixes, etc. The merge of the source code between the original and the customized projects usually generates conflicts that need human resolution. More important, the resolution of those conflicts might not be trivial and poses an arduous task for developers. This dissertation, therefore, proposes an approach for updating forks against the original project where features are modularized, documented, traceable, and can be reused. We claim that the such task can no longer be carried out on an ad hoc basis. The approach updates those systems in a non-invasive way, which preserves the independence of the customized project does not requires direct interventions in the original project. For this purpose, it specifies features on a high level using a DSL (Domain Specific Language). In a nutshell, instead of modify the method foo from the original project, the developer implements it locally and specifies, using one of the eleven instructions of the proposed DSL, something like “replace the foo method with local implementation”. We developed a tool that automates the approach and conduced an evaluation on a real-world project that is regularly updated against your original project. Through this evaluation we found that the approach applies to real scenarios and avoids merging conflicts. We also evaluated the perspective of the developers of this project regarding the proposed approach, which proved to be positive and contributed to the planning of future work. |
URI: | http://repositorio.ufla.br/jspui/handle/1/46129 |
Aparece nas coleções: | Ciência da Computação - Mestrado (Dissertações) |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
DISSERTAÇÃO_Uma abordagem para atualização de forks frente ao projeto original.pdf | 1,81 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.