Utilize este identificador para referenciar este registo: http://hdl.handle.net/10071/33659
Registo completo
Campo DCValorIdioma
dc.contributor.advisorSantos, André Leal-
dc.contributor.advisorOliveira, Sancho Moura-
dc.contributor.authorSampaio, Afonso Pinheiro-
dc.date.accessioned2025-03-10T10:10:21Z-
dc.date.available2025-03-10T10:10:21Z-
dc.date.issued2024-12-06-
dc.date.submitted2024-10-
dc.identifier.citationSampaio, A. P. (2024). Collaborative code editing with continuous integration [Dissertação de mestrado, Iscte - Instituto Universitário de Lisboa]. Repositório Iscte. http://hdl.handle.net/10071/33659por
dc.identifier.urihttp://hdl.handle.net/10071/33659-
dc.description.abstractIn contemporary software development, collaboration among developers is a fundamental aspect of the management and evolution of codebases. Version control systems such as Git facilitate collaboration by enabling the integration of version branches into a primary development branch. However, the occurrence of parallel modifications frequently gives rise to merge conflicts, which have the potential to disrupt workflows and delay development timelines. Although automated tools can address some conflicts, manual intervention is frequently necessary to resolve instances of overlapping changes. In order to prevent the accumulation of these conflicts, the practice of continuous integration has been proposed as a means of encouraging frequent code integration, with the aim of improving conflict management. This dissertation proposes a protocol for propagation of code changes to facilitate the integration of continuous integration practices directly into collaborative coding environments. This approach enables the early detection of conflicts and streamlines the merge process. The Javardair prototype was developed with the objective of validating this approach for Java, employing a transformation-based methodology. In contrast to conventional version control systems, this approach represents code modifications as structured, semantic-level transformations within an abstract syntax tree instead of a textual level. This facilitates a more precise identification of conflicts, as it is based on code semantics rather than simple line-by-line comparisons and also enables a more effective application of modifications.por
dc.description.abstractNo desenvolvimento de software contemporâneo, a colaboração entre programadores é um aspeto fundamental para a gestão e evolução de repositórios de código. Os sistemas de controlo de versões, como o Git, facilitam a colaboração, permitindo a integração de alterações independentes num ramo de desenvolvimento principal. No entanto, a ocorrência de modificações paralelas dá frequentemente origem a conflitos de merge, os quais podem perturbar os fluxos de trabalho e atrasar os prazos de desenvolvimento. Embora ferramentas de automatização possam resolver alguns conflitos, a intervenção manual é frequentemente necessária para resolver casos de alterações sobrepostas. Para evitar a acumulação destes conflitos, foi proposta a prática da integração contínua como forma de incentivar a integração regular do código, com o objetivo de melhorar a gestão dos conflitos. Esta tese propõe um protocolo de propagação de alterações de código que permite a integração de práticas de integração contínua diretamente em ambientes de programação colaborativa. Esta abordagem permite a deteção precoce de conflitos, tendo potencial para simplificar o processo de merging. Foi desenvolvido o protótipo Javardair, com o objetivo de validar esta abordagem para Java, empregando uma metodologia baseada em transformações. Esta abordagem representa as modificações do código como transformações estruturadas a um nível semântico com base numa árvore de sintaxe abstrata, em vez de um nível textual. Isto permite identificar conflitos de forma mais precisa, uma vez que se baseia na semântica do código e não apenas em comparações linha a linha, permitindo também aplicar modificações de forma mais eficiente.por
dc.language.isoengpor
dc.rightsopenAccesspor
dc.subjectContinuous integrationpor
dc.subjectCollaborative codingpor
dc.subjectConflict detectionpor
dc.subjectTransformationspor
dc.subjectIntegração contínuapor
dc.subjectProgramação colaborativapor
dc.subjectDeteção de conflitospor
dc.subjectTransformaçõespor
dc.titleCollaborative code editing with continuous integrationpor
dc.typemasterThesispor
dc.peerreviewedyespor
dc.identifier.tid203774892por
dc.subject.fosDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
thesis.degree.nameMestrado em Engenharia Informáticapor
thesis.degree.departmentDepartamento de Ciências e Tecnologias da Informaçãopor
Aparece nas coleções:T&D-DM - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Master_afonso_pinheiro_sampaio.pdf1,04 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpaceOrkut
Formato BibTex mendeley Endnote Logotipo do DeGóis Logotipo do Orcid 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.