Exportar Publicação
A publicação pode ser exportada nos seguintes formatos: referência da APA (American Psychological Association), referência do IEEE (Institute of Electrical and Electronics Engineers), BibTeX e RIS.
Teles, A. R. & Santos, A. L. (2023). Code merging using transformations and member identity. In van der Storm, T., and Hirschfeld, R. (Ed.), Onward! 2023: Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. (pp. 71-88). Cascais, Portugal: Association for Computing Machinery.
A. Teles and A. L. Santos, "Code merging using transformations and member identity", in Onward! 2023: Proc. of the 2023 ACM SIGPLAN Int. Symp. on New Ideas, New Paradigms, and Reflections on Programming and Software, van der Storm, T., and Hirschfeld, R., Ed., Cascais, Portugal, Association for Computing Machinery, 2023, pp. 71-88
@inproceedings{teles2023_1730780479040, author = "Teles, A. R. and Santos, A. L.", title = "Code merging using transformations and member identity", booktitle = "Onward! 2023: Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software", year = "2023", editor = "van der Storm, T., and Hirschfeld, R.", volume = "", number = "", series = "", doi = "10.1145/3622758.3622891", pages = "71-88", publisher = "Association for Computing Machinery", address = "Cascais, Portugal", organization = "SIGPLAN ACM Special Interest Group on Programming Languages", url = "https://dl.acm.org/doi/proceedings/10.1145/3622758" }
TY - CPAPER TI - Code merging using transformations and member identity T2 - Onward! 2023: Proceedings of the 2023 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software AU - Teles, A. R. AU - Santos, A. L. PY - 2023 SP - 71-88 DO - 10.1145/3622758.3622891 CY - Cascais, Portugal UR - https://dl.acm.org/doi/proceedings/10.1145/3622758 AB - Conventionally, 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. ER -