{"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-2608-10349","title":"Beyond Detection Accuracy: Measuring Explanation Cost, Stability, and Utility for Resource-Aware IoT Intrusion Detection","arxiv_id":"2608.10349","date":"2026-08-11","proceeding":null,"authors":["Abdurrahman Tolay"],"abstract":"Machine-learning intrusion-detection studies commonly emphasize predictive accuracy while treating explanation generation as a computationally free post-processing step. This study jointly evaluates predictive effectiveness, explanation cost, local explanation stability, and selective explanation for binary Internet of Things (IoT) intrusion detection. A leakage-safe CICIoT2023 corpus was constructed using exact 39-feature hashes, non-finite-value handling, exact-feature deduplication, conservative label-collision removal, and deterministic hash-level partitioning. Logistic Regression, Decision Tree, Random Forest, and XGBoost were evaluated on natural and balanced test distributions. TreeSHAP cost was measured, stability was assessed under prediction-preserving perturbations, and validation-calibrated policies were used to allocate explanation workload. XGBoost provided the strongest overall predictive profile, while Random Forest produced the lowest false-positive rate. At 5,000 samples, TreeSHAP required 700.759 s for Random Forest and 1.471 s for XGBoost. Random Forest showed the strongest overall base-level explanation stability; XGBoost retained high rank and directional consistency but showed greater top-feature turnover and attribution-magnitude drift. On the balanced test, about 90% false-negative explanation coverage permitted 28-32% compute savings, while about 95% coverage permitted 15-23% savings. Savings were much smaller under the attack-heavy natural prevalence. These results show that operationally useful explainable IoT intrusion detection depends on predictive quality, explanation cost, local stability, workload prevalence, and selective invocation rather than detection accuracy alone.","url_abs":"https://arxiv.org/abs/2608.10349","url_pdf":"https://arxiv.org/pdf/2608.10349","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=2608.10349","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.10349"}},"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/AbdurrahmanTolay/resource-aware-iot-xai","reach":null}],"summary":{"ran":14,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":16,"ran":14,"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":16,"samples":[{"code_sha256_prefix":"bce74005f2544c69","entry":"assign_split","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/build_clean_splits.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/build_clean_splits.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bce74005f2544c69"}},{"code_sha256_prefix":"1bf15a2a4bc747c9","entry":"descriptive_stats","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/feature_integrity_audit_stage4c.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/feature_integrity_audit_stage4c.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bf15a2a4bc747c9"}},{"code_sha256_prefix":"bedfcb55f418f9e7","entry":"files_in","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/logistic_recheck_stage4a1.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/logistic_recheck_stage4a1.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bedfcb55f418f9e7"}},{"code_sha256_prefix":"e8649d6ec6d231ce","entry":"infer_family","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/build_clean_splits.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/build_clean_splits.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e8649d6ec6d231ce"}},{"code_sha256_prefix":"87dc77652cde67a0","entry":"is_lr_name","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/final_empirical_completeness_audit.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/final_empirical_completeness_audit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"87dc77652cde67a0"}},{"code_sha256_prefix":"a1ce90e9dc05076a","entry":"metrics_from_scores","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/logistic_recheck_stage4a1.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/logistic_recheck_stage4a1.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a1ce90e9dc05076a"}},{"code_sha256_prefix":"e0cdff46960a6e91","entry":"model_size_mb","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/baseline_models_stage4b.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/baseline_models_stage4b.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e0cdff46960a6e91"}},{"code_sha256_prefix":"258c4bfd571683bf","entry":"normalize_shap_values","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/stage6a_explanation_stability.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/stage6a_explanation_stability.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"258c4bfd571683bf"}},{"code_sha256_prefix":"f5ab8d99e657a037","entry":"normalize_shap_values","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/stage6b_stability_sensitivity.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/stage6b_stability_sensitivity.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f5ab8d99e657a037"}},{"code_sha256_prefix":"1deae7d68341312f","entry":"parquet_files","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/baseline_models_stage4a.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/baseline_models_stage4a.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1deae7d68341312f"}},{"code_sha256_prefix":"3d49ed2d45d7942f","entry":"parquet_files","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/feature_integrity_audit_stage4c.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/feature_integrity_audit_stage4c.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d49ed2d45d7942f"}},{"code_sha256_prefix":"0936286bc7b2f2dc","entry":"run_cmd","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/final_empirical_completeness_audit.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/final_empirical_completeness_audit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0936286bc7b2f2dc"}},{"code_sha256_prefix":"aaf05fd5da12780a","entry":"safe_version","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/final_empirical_completeness_audit.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/final_empirical_completeness_audit.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aaf05fd5da12780a"}},{"code_sha256_prefix":"41a8c26143c09e15","entry":"sigmoid","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/stage5a1_xgboost_additivity_validation.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/stage5a1_xgboost_additivity_validation.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41a8c26143c09e15"}},{"code_sha256_prefix":"ac3a4538c41a1ca0","entry":"deterministic_training_sample","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/number_ablation_stage4d.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/number_ablation_stage4d.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":"ac3a4538c41a1ca0"}},{"code_sha256_prefix":"a9dacb9bdc6c4f7c","entry":"load_validation_reference","repo":"AbdurrahmanTolay/resource-aware-iot-xai","repo_kind":"found_in_text","path":"src/stage6b_stability_sensitivity.py","file_url":"https://github.com/AbdurrahmanTolay/resource-aware-iot-xai/blob/HEAD/src/stage6b_stability_sensitivity.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":"a9dacb9bdc6c4f7c"}}]},"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_2026.jsonl"},"syntology_extracted_results":null}