{"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-03904","title":"LLM as an Algorithmist: Enhancing Anomaly Detectors via Programmatic Synthesis","arxiv_id":"2510.03904","date":"2025-10-04","proceeding":"ICLR","authors":["Hangting Ye","Jinmeng Li","He Zhao","Mingchen Zhuge","Dandan Guo","Yi Chang","Hongyuan Zha"],"abstract":"Existing anomaly detection (AD) methods for tabular data usually rely on some assumptions about anomaly patterns, leading to inconsistent performance in real-world scenarios. While Large Language Models (LLMs) show remarkable reasoning capabilities, their direct application to tabular AD is impeded by fundamental challenges, including difficulties in processing heterogeneous data and significant privacy risks. To address these limitations, we propose LLM-DAS, a novel framework that repositions the LLM from a ``data processor'' to an ``algorithmist''. Instead of being exposed to raw data, our framework leverages the LLM's ability to reason about algorithms. It analyzes a high-level description of a given detector to understand its intrinsic weaknesses and then generates detector-specific, data-agnostic Python code to synthesize ``hard-to-detect'' anomalies that exploit these vulnerabilities. This generated synthesis program, which is reusable across diverse datasets, is then instantiated to augment training data, systematically enhancing the detector's robustness by transforming the problem into a more discriminative two-class classification task. Extensive experiments on 36 TAD benchmarks show that LLM-DAS consistently boosts the performance of mainstream detectors. By bridging LLM reasoning with classic AD algorithms via programmatic synthesis, LLM-DAS offers a scalable, effective, and privacy-preserving approach to patching the logical blind spots of existing detectors.","url_abs":"https://arxiv.org/abs/2510.03904","url_pdf":"https://arxiv.org/pdf/2510.03904","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":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2510.03904","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.03904"}},"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/HangtingYe/LLM_DAS","reach":{"status":"ok"}}],"summary":{"unverified":10},"by_repo_kind":{"found_in_text":{"samples":10,"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":10,"samples":[{"code_sha256_prefix":"9ddf5e8f6bfb8c5b","entry":"check","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"check_env.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/check_env.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9ddf5e8f6bfb8c5b"}},{"code_sha256_prefix":"88281d080b982fbd","entry":"extract_function","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"get_answer.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/get_answer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88281d080b982fbd"}},{"code_sha256_prefix":"10ea8df344ae6102","entry":"get_all_data","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"main_baseline_pyod.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/main_baseline_pyod.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"10ea8df344ae6102"}},{"code_sha256_prefix":"647fc38ad72ffa21","entry":"import_function_from_file","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"main_baseline_pyod.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/main_baseline_pyod.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"647fc38ad72ffa21"}},{"code_sha256_prefix":"e6ffa8e84bd2e769","entry":"load_metric","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"generate_baseline_tables_from_preset.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/generate_baseline_tables_from_preset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e6ffa8e84bd2e769"}},{"code_sha256_prefix":"679df9b07f597a26","entry":"load_metric","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"generate_table4_from_preset.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/generate_table4_from_preset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"679df9b07f597a26"}},{"code_sha256_prefix":"7cae1fb8d81abc19","entry":"load_preset","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"generate_baseline_tables_from_preset.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/generate_baseline_tables_from_preset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7cae1fb8d81abc19"}},{"code_sha256_prefix":"c6676941542e2568","entry":"query_text","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"get_answer.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/get_answer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c6676941542e2568"}},{"code_sha256_prefix":"3b09c554f112df77","entry":"resolve_hp","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"generate_baseline_tables_from_preset.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/generate_baseline_tables_from_preset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3b09c554f112df77"}},{"code_sha256_prefix":"0610860a43399150","entry":"strip_markdown_fence","repo":"HangtingYe/LLM_DAS","repo_kind":"found_in_text","path":"get_answer.py","file_url":"https://github.com/HangtingYe/LLM_DAS/blob/HEAD/get_answer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0610860a43399150"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}