
Atenção:
O eduCAPES é um repositório de objetos educacionais, não sendo responsável por materiais de terceiros submetidos na plataforma. O usuário assume ampla e total responsabilidade quanto à originalidade, à titularidade e ao conteúdo, citações de obras consultadas, referências e outros elementos que fazem parte do material que deseja submeter. Recomendamos que se reporte diretamente ao(s) autor(es), indicando qual parte do material foi considerada imprópria (cite página e parágrafo) e justificando sua denúncia.
Caso seja o autor original de algum material publicado indevidamente ou sem autorização, será necessário que se identifique informando nome completo, CPF e data de nascimento. Caso possua uma decisão judicial para retirada do material, solicitamos que informe o link de acesso ao documento, bem como quaisquer dados necessários ao acesso, no campo abaixo.
Todas as denúncias são sigilosas e sua identidade será preservada. Os campos nome e e-mail são de preenchimento opcional. Porém, ao deixar de informar seu e-mail, um possível retorno será inviabilizado e/ou sua denúncia poderá ser desconsiderada no caso de necessitar de informações complementares.
| Metadados | Descrição | Idioma |
|---|---|---|
| Autor(es): dc.contributor | Villela, Ricardo Terra Nunes Bueno | - |
| Autor(es): dc.contributor | André Gustavo Duarte de Almeida | - |
| Autor(es): dc.contributor | Costa, Heitor Augustus Xavier | - |
| Autor(es): dc.contributor | Souza, Mauricio Ronny de Almeida | - |
| Autor(es): dc.creator | Marcondes, Arthur Roberto | - |
| Data de aceite: dc.date.accessioned | 2026-02-09T11:46:38Z | - |
| Data de disponibilização: dc.date.available | 2026-02-09T11:46:38Z | - |
| Data de envio: dc.date.issued | 2021-02-22 | - |
| Data de envio: dc.date.issued | 2021-02-22 | - |
| Data de envio: dc.date.issued | 2021-02-22 | - |
| Data de envio: dc.date.issued | 2021-01-21 | - |
| Fonte completa do material: dc.identifier | https://repositorio.ufla.br/handle/1/46129 | - |
| Fonte: dc.identifier.uri | http://educapes.capes.gov.br/handle/capes/1147224 | - |
| Descrição: dc.description | 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. | - |
| Descrição: dc.description | Diversos projetos de software se iniciam a partir de um projeto já existente. Essa prática, no ecossistema de Sistemas de Controle de Versão (Version Control Systems – VCS), é denominada fork. Por exemplo, o projeto Bootstrap, inicialmente desenvolvido no Twitter, possui em dezembro de 2020 mais de 71 mil forks, o que indica que vários projetos se iniciaram a partir do código-fonte do Bootstrap em um certo instante e estão sendo customizados. O problema se dá quando tais projetos customizados querem obter as atualizações do projeto original, i.e., novas features, correção de bugs, etc. Essa mesclagem do código-fonte do projeto original com o projeto customizado normalmente gera conflitos que necessitam de intervenção humana para resolução. Mais importante, a resolução desses conflitos pode não ser trivial e representar uma tarefa árdua para desenvolvedores. Esta dissertação de mestrado, portanto, propõe uma abordagem para atualização de forks frente ao projeto original onde features são modularizadas, documentadas, rastreáveis e podem ser reutilizadas. Afirma-se que essa tarefa não pode mais ser realizada de uma forma ad hoc. A abordagem permite a atualização desses sistemas de uma forma não invasiva, preservando a independência do projeto customizado e não exigindo intervenções diretas no projeto original. Para tanto, baseia-se na descrição de features em alto nível através de uma DSL (Domain Specific Language – Linguagem de Domínio Específico). De forma sucinta, ao invés de alterar o corpo de um método foo do projeto original, o desenvolvedor o implementa localmente e especifica, por meio de uma das onze instruções da DSL proposta, algo como “substitua o método foo pela implementação local”. Uma ferramenta que automatiza a abordagem proposta foi desenvolvida para conduzir uma avaliação real em um projeto de software frequentemente atualizado frente ao seu projeto original. Por meio dessa avaliação constatou-se que a abordagem aplica-se a cenários reais e evita conflitos de mesclagem. Avaliou-se também a perspectiva de desenvolvedores desse projeto quanto à abordagem proposta, que se mostrou positiva e contribuiu no planejamento de trabalhos futuros. | - |
| Formato: dc.format | application/pdf | - |
| Idioma: dc.language | pt_BR | - |
| Publicador: dc.publisher | Universidade Federal de Lavras | - |
| Publicador: dc.publisher | Programa de Pós-Graduação em Ciência da Computação | - |
| Publicador: dc.publisher | UFLA | - |
| Publicador: dc.publisher | brasil | - |
| Publicador: dc.publisher | Departamento de Ciência da Computação | - |
| Direitos: dc.rights | acesso aberto | - |
| Palavras-chave: dc.subject | Evolução de software | - |
| Palavras-chave: dc.subject | Atualização de fork | - |
| Palavras-chave: dc.subject | Conflitos de mesclagem | - |
| Palavras-chave: dc.subject | Software evolution | - |
| Palavras-chave: dc.subject | Fork update | - |
| Palavras-chave: dc.subject | Merge conflicts | - |
| Palavras-chave: dc.subject | Ciência da Computação | - |
| Título: dc.title | Uma abordagem para atualização de forks frente ao projeto original | - |
| Título: dc.title | An approach for updating forks against the original project | - |
| Tipo de arquivo: dc.type | dissertação | - |
| Aparece nas coleções: | Repositório Institucional da Universidade Federal de Lavras (RIUFLA) | |
O Portal eduCAPES é oferecido ao usuário, condicionado à aceitação dos termos, condições e avisos contidos aqui e sem modificações. A CAPES poderá modificar o conteúdo ou formato deste site ou acabar com a sua operação ou suas ferramentas a seu critério único e sem aviso prévio. Ao acessar este portal, você, usuário pessoa física ou jurídica, se declara compreender e aceitar as condições aqui estabelecidas, da seguinte forma: