{"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-2510-04039","title":"\\textsc{GUI-Spotlight}: Adaptive Iterative Focus Refinement for Enhanced GUI Visual Grounding","arxiv_id":"2510.04039","date":"2025-10-05","proceeding":"ICML","authors":["Bin Lei","Nuo Xu","Ali Payani","Mingyi Hong","Chunhua Liao","Yu Cao","Caiwen Ding"],"abstract":"Multimodal large language models (MLLMs) have markedly expanded the competence of graphical user-interface (GUI) systems, propelling them beyond controlled simulations into complex, real-world environments across diverse platforms. However, practical usefulness is still bounded by the reliability of visual grounding, i.e., mapping textual references to exact on-screen elements. This limitation prevents the system from accurately performing pointer-level actions such as clicking or dragging. To address it, we introduce GUI-Spotlight -- a model trained for image-grounded reasoning that dynamically invokes multiple specialized tools to iteratively narrow its focus to the relevant region of the screen, thereby substantially improving visual grounding accuracy. On the ScreenSpot-Pro benchmark, GUI-Spotlight trained with only 18.5K training samples achieves 52.8\\% accuracy, surpassing V2P-7B (50.6\\% with 9.6M training samples) and GTA-1-7B (50.1\\% with 1.56M training samples).","url_abs":"https://arxiv.org/abs/2510.04039","url_pdf":"https://arxiv.org/pdf/2510.04039","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=2510.04039","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.04039"}},"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/bin123apple/GUI_Spotlight","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":17},"by_repo_kind":{"found_in_text":{"samples":18,"ran":1,"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":"78ee6b46cebd99ee","entry":"encode_image","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"screenspot_pro_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/screenspot_pro_evaluation.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"78ee6b46cebd99ee"}},{"code_sha256_prefix":"4e08ab7b4f176f64","entry":"compute_iou","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/reward/tool_rubric.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/reward/tool_rubric.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4e08ab7b4f176f64"}},{"code_sha256_prefix":"3ce4db2cfef315c5","entry":"crop","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/tools.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/tools.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3ce4db2cfef315c5"}},{"code_sha256_prefix":"09aa6602ff0fe56f","entry":"crop","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"inference.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"09aa6602ff0fe56f"}},{"code_sha256_prefix":"753dc5bba606acbe","entry":"crop","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"osworld_g_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/osworld_g_evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"753dc5bba606acbe"}},{"code_sha256_prefix":"91214f85123a5c87","entry":"crop","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"screenspot_pro_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/screenspot_pro_evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"91214f85123a5c87"}},{"code_sha256_prefix":"264aee759c47ba3a","entry":"equals_reward_func","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/reward/rubric.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/reward/rubric.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"264aee759c47ba3a"}},{"code_sha256_prefix":"af8d22af4cf5f3a9","entry":"extract","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/tools.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/tools.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"af8d22af4cf5f3a9"}},{"code_sha256_prefix":"67c6298ad2482e8f","entry":"extract","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"inference.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"67c6298ad2482e8f"}},{"code_sha256_prefix":"52342a2f125d6b3b","entry":"extract","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"osworld_g_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/osworld_g_evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52342a2f125d6b3b"}},{"code_sha256_prefix":"d05b0d3e1cfb22cf","entry":"extract_first_image","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/reward/tool_rubric.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/reward/tool_rubric.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d05b0d3e1cfb22cf"}},{"code_sha256_prefix":"a8300c75cc23637f","entry":"find_color","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"inference.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a8300c75cc23637f"}},{"code_sha256_prefix":"fdf9d5aa2c45a4c2","entry":"find_color","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"osworld_g_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/osworld_g_evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fdf9d5aa2c45a4c2"}},{"code_sha256_prefix":"894a351986ae8339","entry":"format_tool_descriptions","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/tools_envs/tool_env.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/tools_envs/tool_env.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"894a351986ae8339"}},{"code_sha256_prefix":"5948d381ce0e5cf4","entry":"infer_schema_from_function","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/tools_envs/tool_env.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/tools_envs/tool_env.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5948d381ce0e5cf4"}},{"code_sha256_prefix":"9dc039e3a4c8ba70","entry":"iou","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/tools.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/tools.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9dc039e3a4c8ba70"}},{"code_sha256_prefix":"5d9f44f31fe3f7ac","entry":"parse_crop_bbox_from_text","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"spotlight/reward/tool_rubric.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/spotlight/reward/tool_rubric.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5d9f44f31fe3f7ac"}},{"code_sha256_prefix":"c91f63a1a917435c","entry":"sanitize_dialogs","repo":"bin123apple/GUI_Spotlight","repo_kind":"found_in_text","path":"screenspot_pro_evaluation.py","file_url":"https://github.com/bin123apple/GUI_Spotlight/blob/HEAD/screenspot_pro_evaluation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c91f63a1a917435c"}}]},"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_api"},"syntology_extracted_results":null}