{'fraction_non_alphanumeric': 0.020689655172413793, 'fraction_numerical': 0.0, 'mean_word_length': 6.205673758865248, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Collaborative , Distributed Software Engineering

This survey paper investigates the current state of the art with respect to collaborative computing. Specifically, the paper addresses the field of collaborative software engineering and focuses on the background and issues related to distributed software development. The paper begins by exploring collaborative computing in general, discusses synchronous and asynchronous collaboration and communication mechanisms to ensure updates are handled properly, and then focuses on elements that have significant impact on distributed software engineering: mutual exclusion, achieving “undo” and “redo,” organizational theory, merging code, and distributed version control. The paper then examines some of the human-computer interface (HCI) issues of such collaborative systems and presents various classification schemes that are helpful in comparing various collaborative domains and applications. The paper concludes by discussing recent and future work in the field.