Code merging using transformations and member identity

dc.contributor.authorTeles, A. R.
dc.contributor.authorSantos, A. L.
dc.contributor.editorvan der Storm, T., and Hirschfeld, R.
dc.date.accessioned2023-11-10T11:21:35Z
dc.date.available2023-11-10T11:21:35Z
dc.date.issued2023
dc.date.updated2023-11-10T11:19:43Z
dc.description.abstractConventionally, merging code files is performed using generic line-based merging algorithms (e.g., diff3) that are unaware of the syntax and semantics of the programming language, outputting conflicts that could be avoided. Structured and semistructured merging techniques are capable of reducing conflicts, but they still suffer from false positives (conflicts that could be avoided) and false negatives (conflicts that go undetected). We propose a merging technique that combines semistructured and transformation-based strategies, where conflict detection is aware of semantic aspects of the programming language. We extract transformations of two branches and apply a merging process that analyzes incompatible transformations, avoiding false positives and false negatives that occur in existing approaches. We developed Jaid, a prototype merging tool for Java based on the assumption that structural code elements evolve with attached UUIDs (representing identity). We performed an early experiment with 63 merge scenarios from two open-source projects to test the technique and assess its feasibility.eng
dc.description.versioninfo:eu-repo/semantics/publishedVersion
dc.event.date2023
dc.event.locationCascais, Portugaleng
dc.event.title2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
dc.event.typeConferênciapt
dc.identifier.citationTeles, A. R., & Santos, A. L. (2023). Code merging using transformations and member identity. In T. van der Storm, & R. Hirschfeld (Chairs), Onward! 2023: Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (pp. 71-88). Association for Computing Machinery. https://doi.org/10.1145/3622758.3622891
dc.identifier.doi10.1145/3622758.3622891
dc.identifier.isbn979-8-4007-0388-1
dc.identifier.urihttp://hdl.handle.net/10071/29544
dc.language.isoeng
dc.pagination71 - 88
dc.peerreviewedyes
dc.publisherAssociation for Computing Machinery
dc.relationinfo:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDB%2F04466%2F2020/PT
dc.relationinfo:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDP%2F04466%2F2020/PT
dc.relation.ispartofOnward! 2023: Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
dc.rightsopen access
dc.subjectSoftware mergingeng
dc.subjectVersion control systemseng
dc.subjectTransformationseng
dc.subjectConflictseng
dc.subjectIdentityeng
dc.subject.fosDomínio/Área Científica::Ciências Naturais::Ciências da Computação e da Informaçãopor
dc.subject.fosDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapor
dc.titleCode merging using transformations and member identityeng
dc.typeconferenceObject
dspace.entity.typePublicationen
iscte.identifier.cienciahttps://ciencia.iscte-iul.pt/id/ci-pub-98476

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
conferenceobject_98476.pdf
Tamanho:
599.35 KB
Formato:
Adobe Portable Document Format
Descrição:
Versão Editora