{'fraction_non_alphanumeric': 0.03361858190709047, 'fraction_numerical': 0.0, 'mean_word_length': 5.44488188976378, '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}}
Carpet: Automating Collaborative Web-Based Process across Multiple Devices by Capture-and-Replay

Modern mobile devices like smartphones and tablet computers are equipped with browsers like Apple Safari, Mozilla Fire Fox and Google Chrome. People begin to pay more time on mobile devices than on desktop PCs. Though most popular websites have been optimized for mobile browsing, some web applications, particularly those legacy web-based processes, e.g., Office Automation applications, still keep the same PC-version. Users are possibly influenced by poor browsing experiences and low work efficiency due to limited screen estate and touch-centric interaction pattern. To enable collaborative process on multiple devices, a browser-level and process-oriented capture-and-replay might be an option. However, the changes of web contents and structures, diverse user interaction patterns and performance make cross-device capture-and-replay challenging. This paper presents Carpet, a non-intrusive, low-overhead and intuitive cross-device capture-and-replay system. Unlike previous capture-and-replay efforts that mainly focus on reporting bugs, Carpet is designed for automating web-based processes across multiple devices. Carpet is built atop standard browser kernels without modifying original browsers. Carpet can capture all user interactions and data on a web application, and replay consistently on various devices. We demonstrate Carpet on some typical web applications, including web game, online office, e-commerce, etc. Our initial experiences suggest that Carpet is surprisingly effective in automating the web-based process.