Affiliation:
1. School of Computer Science and Engineering, Beihang University, State Key Laboratory of Complex & Critical Software Environment (CCSE), Beijing, China
2. School of Software, Beihang University, Beijing, China
3. School of Computer Science and Engineering, Beihang University, CCSE, Beijing, China
Abstract
Real-time collaborative programming (RCP) entails developers working simultaneously, regardless of their geographic locations. RCP differs from traditional asynchronous online programming methods, such as Git or SVN, where developers work independently and update the codebase at separate times. Although various real-time code collaboration tools (e.g.,
Visual Studio Live Share
,
Code with Me
, and
Replit
) have kept emerging in recent years, none of the existing studies explicitly focus on a deep understanding of the processes or experiences associated with RCP. To this end, we combine interviews and an e-mail survey with the users of
Visual Studio Live Share
, aiming to understand (i) the scenarios, (ii) the requirements, and (iii) the challenges when developers participate in RCP. We find that developers participate in RCP in 18 different scenarios belonging to six categories, e.g.,
pair programming
,
group debugging
, and
code review
. However, existing users’ attitudes toward the usefulness of the current RCP tools in these scenarios were significantly more negative than the expectations of potential users. As for the requirements, the most critical category is
live editing
, followed by the need for
sharing terminals
to enable hosts and guests to run commands and see the results, as well as
focusing and following
, which involves “following” the host’s edit location and “focusing” the guests’ attention on the host with a notification. Under these categories, we identify 17 requirements, but most of them are not well supported by current tools. In terms of challenges, we identify 19 challenges belonging to seven categories. The most severe category of challenges is
lagging
followed by
permissions and conflicts
. The above findings indicate that the current RCP tools and even collaborative environment need to be improved greatly and urgently. Based on these findings, we discuss the recommendations for different stakeholders, including practitioners, tool designers, and researchers.
Funder
National Natural Science Foundation of China
Research Fund of Beihang University-Huawei Key Software Joint Laboratory
Publisher
Association for Computing Machinery (ACM)
Reference67 articles.
1. Understanding semi-structured merge conflict characteristics in open-source java projects;Accioly Paola;Empirical Software Engineering,2018
2. Synchronous and asynchronous e-learning;Amiti Flora;European Journal of Open Education and E-Learning Studies,2020
3. Tim Anderson. 2021. A swarm in May is worth a load of hay is it? JetBrains Code With Me collaborative programming tool released. (2021). Retrieved Dec 2022 from https://www.theregister.com/2021/04/07/jetbrains_code_with_me/
4. Patterns of developers behaviour: A 1000-hour industrial study;Astromskis Saulius;Journal of Systems and Software,2017
5. Nicholas Bello. 2022. Replit. (2022). Retrieved Dec 2022 from https://research.contrary.com/reports/replit