{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2601-18305","title":"SwipeGen: Bridging the Execution Gap in GUI Agents via Human-like Swipe Synthesis","arxiv_id":"2601.18305","date":"2026-01-26","proceeding":null,"authors":["Xuan Wang","Siyuan Su","Quantong Fu","Yongxiang Hu","Yangfan Zhou"],"abstract":"Despite numerous Graphical User Interface (GUI) agents claiming to automate user interaction tasks, to date, few achieve satisfactory interaction capability with human users in real-world scenarios. Through empirical analysis, this paper identifies the root cause of the limited interaction capability as the rigid swipe execution. In particular, unlike humans, who perform swipes with fine-grained control over trajectory, speed, and timing, existing agents can only conduct simplistic, deterministic swipe behaviors, leading to frequent failures on complicated user-like interaction tasks. Due to the lack of open-source human-like swipe training data, we propose SwipeGen, the first tool for synthesizing diverse and human-like swipe interactions, and SwipeBench, the first benchmark for evaluating agents' swipe interaction quality. Extensive experiments show that SwipeGen can improve the swipe execution success rate of existing agents by up to 2.46x. Our code, dataset, and model are available at https://github.com/TSKGHS17/SwipeGen.","url_abs":"https://arxiv.org/abs/2601.18305","url_pdf":"https://arxiv.org/pdf/2601.18305","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2601.18305","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2601.18305"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/TSKGHS17/SwipeGen","reach":null}],"summary":{"unverified":4},"by_repo_kind":{"found_in_text":{"samples":4,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"1d4fcfa57d9fb1e3","entry":"calculate_image_diff","repo":"TSKGHS17/SwipeGen","repo_kind":"found_in_text","path":"SwipeGen/utils/image_utils.py","file_url":"https://github.com/TSKGHS17/SwipeGen/blob/HEAD/SwipeGen/utils/image_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1d4fcfa57d9fb1e3"}},{"code_sha256_prefix":"06ab91d6cfb7dc1b","entry":"mask","repo":"TSKGHS17/SwipeGen","repo_kind":"found_in_text","path":"SwipeGen/utils/image_utils.py","file_url":"https://github.com/TSKGHS17/SwipeGen/blob/HEAD/SwipeGen/utils/image_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"06ab91d6cfb7dc1b"}},{"code_sha256_prefix":"056ed515c0c2a3ef","entry":"process_and_copy_item","repo":"TSKGHS17/SwipeGen","repo_kind":"found_in_text","path":"SwipeGen/summary.py","file_url":"https://github.com/TSKGHS17/SwipeGen/blob/HEAD/SwipeGen/summary.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"056ed515c0c2a3ef"}},{"code_sha256_prefix":"b025d64d0b92413d","entry":"summary","repo":"TSKGHS17/SwipeGen","repo_kind":"found_in_text","path":"SwipeGen/summary.py","file_url":"https://github.com/TSKGHS17/SwipeGen/blob/HEAD/SwipeGen/summary.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b025d64d0b92413d"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}