{"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/art-abstraction-refinement-guided-training","title":"ART: Abstraction Refinement-Guided Training for Provably Correct Neural Networks","arxiv_id":"1907.10662","date":"2019-07-17","proceeding":null,"authors":["Xuankang Lin","He Zhu","Roopsha Samanta","Suresh Jagannathan"],"abstract":"Artificial Neural Networks (ANNs) have demonstrated remarkable utility in various challenging machine learning applications. While formally verified properties of their behaviors are highly desired, they have proven notoriously difficult to derive and enforce. Existing approaches typically formulate this problem as a post facto analysis process. In this paper, we present a novel learning framework that ensures such formal guarantees are enforced by construction. Our technique enables training provably correct networks with respect to a broad class of safety properties, a capability that goes well-beyond existing approaches, without compromising much accuracy. Our key insight is that we can integrate an optimization-based abstraction refinement loop into the learning process and operate over dynamically constructed partitions of the input space that considers accuracy and safety objectives synergistically. The refinement procedure iteratively splits the input space from which training data is drawn, guided by the efficacy with which such partitions enable safety verification. We have implemented our approach in a tool (ART) and applied it to enforce general safety properties on unmanned aviator collision avoidance system ACAS Xu dataset and the Collision Detection dataset. Importantly, we empirically demonstrate that realizing safety does not come at the price of much accuracy. Our methodology demonstrates that an abstraction refinement methodology provides a meaningful pathway for building both accurate and correct machine learning networks.","url_abs":"https://arxiv.org/abs/1907.10662v3","url_pdf":"https://arxiv.org/pdf/1907.10662v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"art-abstraction-refinement-guided-training","repo_url":"https://github.com/XuankangLin/ART","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"collision-avoidance","task_name":"Collision Avoidance"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1907.10662","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1907.10662"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/XuankangLin/ART","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"3b00f72cc7812cbc","entry":"bisect_by","repo":"XuankangLin/ART","repo_kind":"official","path":"art/bisecter.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/bisecter.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":"3b00f72cc7812cbc"}},{"code_sha256_prefix":"9c2243488b652398","entry":"by_smear","repo":"XuankangLin/ART","repo_kind":"official","path":"art/bisecter.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/bisecter.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":"9c2243488b652398"}},{"code_sha256_prefix":"4fa5918c9f444bcd","entry":"empty_like","repo":"XuankangLin/ART","repo_kind":"official","path":"art/bisecter.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/bisecter.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":"4fa5918c9f444bcd"}},{"code_sha256_prefix":"f2c7993a5b36988a","entry":"empty_like","repo":"XuankangLin/ART","repo_kind":"official","path":"art/cluster.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/cluster.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":"f2c7993a5b36988a"}},{"code_sha256_prefix":"86b5c6a8b28d2de9","entry":"gen_vtx_points","repo":"XuankangLin/ART","repo_kind":"official","path":"art/utils.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/utils.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":"86b5c6a8b28d2de9"}},{"code_sha256_prefix":"445c01e778a86a83","entry":"lbub_exclude","repo":"XuankangLin/ART","repo_kind":"official","path":"art/prop.py","file_url":"https://github.com/XuankangLin/ART/blob/HEAD/art/prop.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":"445c01e778a86a83"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}