skip to main content
10.1145/2846661.2846672acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
short-paper

Implementing real-time collaboration in TouchDevelop using AST merges

Published: 26 October 2015 Publication History

Abstract

Collaborating on a piece of code is notoriously difficult when the number of people involved goes above 1. In particular, every computer programmer dreads the "merge conflict", a brutal, unforgiving experience, where they must reconcile their changes with someone else's. If offline collaboration is already so painful, real-time collaboration seems even less of an option. It turns out, though, that by reasoning on changes at the level of the program AST, rather than the program text, we can devise a new conflict-free merge algorithm. The algorithm is particularly well-suited to real-time collaboration: we implemented it in the TouchDevelop web programming environment and dub the algorithm diffTree.

References

[1]
T. Ball, S. Burckhardt, J. de Halleux, M. Moskal, J. Protzenko, and N. Tillmann. Beyond Open Source: The TouchDevelop cloud-based integrated development and runtime environment. In Proceedings of Second International Conference on Mobile Software Engineering and Systems, MOBILESoft 2015, 2015.
[2]
To appear.

Cited By

View all
  • (2022)HyperAST: Enabling Efficient Analysis of Software Histories at ScaleProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560423(1-12)Online publication date: 10-Oct-2022
  • (2020)Collaborative Visual Programming Workspace for Blockly2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127253(1-6)Online publication date: Aug-2020
  • (2018)SerVCS: Serialization Agnostic Ontology Development in Distributed SettingsKnowledge Discovery, Knowledge Engineering and Knowledge Management10.1007/978-3-319-99701-8_10(213-232)Online publication date: 14-Nov-2018
  • Show More Cited By

Index Terms

  1. Implementing real-time collaboration in TouchDevelop using AST merges

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    MobileDeLi 2015: Proceedings of the 3rd International Workshop on Mobile Development Lifecycle
    October 2015
    57 pages
    ISBN:9781450339063
    DOI:10.1145/2846661
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Sponsors

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 26 October 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Merge
    2. collaborative editing
    3. diff

    Qualifiers

    • Short-paper

    Conference

    SPLASH '15
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 6 of 8 submissions, 75%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 18 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)HyperAST: Enabling Efficient Analysis of Software Histories at ScaleProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560423(1-12)Online publication date: 10-Oct-2022
    • (2020)Collaborative Visual Programming Workspace for Blockly2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127253(1-6)Online publication date: Aug-2020
    • (2018)SerVCS: Serialization Agnostic Ontology Development in Distributed SettingsKnowledge Discovery, Knowledge Engineering and Knowledge Management10.1007/978-3-319-99701-8_10(213-232)Online publication date: 14-Nov-2018
    • (2017)Precise Version Control of Trees with Line-Based Version Control SystemsProceedings of the 20th International Conference on Fundamental Approaches to Software Engineering - Volume 1020210.1007/978-3-662-54494-5_9(152-169)Online publication date: 22-Apr-2017

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media