{'fraction_non_alphanumeric': 0.030139935414424113, 'fraction_numerical': 0.003767491926803014, 'mean_word_length': 5.176079734219269, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, '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}}
Trinity: High-Performance Mobile Emulation through Graphics Projection

Mobile emulation, which creates full-ﬂedged software mobile devices on a physical PC/server, is pivotal to the mobile ecosystem, especially for PC-based mobile gaming, app debugging, and malware detection. Unfortunately, existing mobile emulators perform poorly on graphics-intensive apps in terms of either efﬁciency or compatibility or both. To address this, we introduce graphics projection , a novel graphics virtualization mechanism that adds a small-size projection space inside the guest memory of a virtual mobile device. The projection space processes graphics operations involving control contexts and resource handles without host interactions. Novel ﬂow control and data teleporting mechanisms are devised to match the decoupled graphics processing rates of the virtual device and the host GPU to maximize performance. The resulting new Android emulator, dubbed Trinity, exhibits an average of 93.3% native hardware performance and 97.2% app support, in some cases outperforming other emulators by more than an order of magnitude. It has been adopted by Huawei DevEco Studio, a major Android IDE with millions of developers. Abstract Trinity’s artifact is publicly available at GitHub. To facilitate developing and using Trinity, we provide step-by-step instruc-tions in the form of both documentations and videos. Please refer to our README ﬁle at https://github.com/Tri nityEmulator/TrinityEmulator for details. The artifact can be used to reproduce all the major results, including those of the graphics benchmarks and 3D apps. Trinity’s artifact includes code of the host emulator, binary of the guest Android system, and our evaluation scripts/data. We host the code/binary and data in two repositories (both in the main branch). We also provide a DOI for the artifact.