{"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/covered-forest-fine-grained-generalization","title":"Covered Forest: Fine-grained generalization analysis of graph neural networks","arxiv_id":"2412.07106","date":"2024-12-10","proceeding":null,"authors":["Antonis Vasileiou","Ben Finkelshtein","Floris Geerts","Ron Levie","Christopher Morris"],"abstract":"The expressive power of message-passing graph neural networks (MPNNs) is reasonably well understood, primarily through combinatorial techniques from graph isomorphism testing. However, MPNNs' generalization abilities -- making meaningful predictions beyond the training set -- remain less explored. Current generalization analyses often overlook graph structure, limit the focus to specific aggregation functions, and assume the impractical, hard-to-optimize $0$-$1$ loss function. Here, we extend recent advances in graph similarity theory to assess the influence of graph structure, aggregation, and loss functions on MPNNs' generalization abilities. Our empirical study supports our theoretical insights, improving our understanding of MPNNs' generalization properties.","url_abs":"https://arxiv.org/abs/2412.07106v1","url_pdf":"https://arxiv.org/pdf/2412.07106v1.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":"covered-forest-fine-grained-generalization","repo_url":"https://github.com/benfinkelshtein/CoveredForests","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-similarity","task_name":"Graph Similarity"},{"task_slug":"isomorphism-testing","task_name":"Isomorphism Testing"}],"methods":[{"method_slug":"focus","method_name":"Focus"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.07106","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.07106"}},"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/benfinkelshtein/CoveredForests","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"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":"e7914319fc8435a7","entry":"get_neighbors","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/tmd.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/tmd.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":"e7914319fc8435a7"}},{"code_sha256_prefix":"5a204f951431b873","entry":"TMD","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/tmd.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/tmd.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":"5a204f951431b873"}},{"code_sha256_prefix":"91114276dd0cec20","entry":"generate_per_n_disjoint_paths","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/graph_classes.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/graph_classes.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":"91114276dd0cec20"}},{"code_sha256_prefix":"5741a9f02841f84b","entry":"nx_add_features","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/helpers.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/helpers.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":"5741a9f02841f84b"}},{"code_sha256_prefix":"7067f2ae2cf922ca","entry":"solve_set_cover","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/set_cover.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/set_cover.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":"7067f2ae2cf922ca"}},{"code_sha256_prefix":"c691d4509645b00a","entry":"test","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/trainer.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/trainer.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":"c691d4509645b00a"}},{"code_sha256_prefix":"184919a11c57d04d","entry":"train","repo":"benfinkelshtein/CoveredForests","repo_kind":"official","path":"utils/trainer.py","file_url":"https://github.com/benfinkelshtein/CoveredForests/blob/HEAD/utils/trainer.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":"184919a11c57d04d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}