{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2022:L465D7V3XUOZPRVEKIOCH75K7W","short_pith_number":"pith:L465D7V3","schema_version":"1.0","canonical_sha256":"5f3dd1febbbd1d97c6a4521c23ffaafdbeca48c2d417a5328a43c1c0a98f68ae","source":{"kind":"arxiv","id":"2202.11840","version":1},"attestation_state":"computed","paper":{"title":"Scalpel: The Python Static Analysis Framework","license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Haowei Quan, Jiawei Wang, Li Li","submitted_at":"2022-02-24T00:27:56Z","abstract_excerpt":"Despite being the most popular programming language, Python has not yet received enough attention from the community. To the best of our knowledge, there is no general static analysis framework proposed to facilitate the implementation of dedicated Python static analyzers. To fill this gap, we design and implement such a framework (named Scalpel) and make it publicly available as an open-source project. The Scalpel framework has already integrated a number of fundamental static analysis functions (e.g., call graph constructions, control-flow graph constructions, alias analysis, etc.) that are "},"verification_status":{"content_addressed":true,"pith_receipt":true,"author_attested":false,"weak_author_claims":0,"strong_author_claims":0,"externally_anchored":false,"storage_verified":false,"citation_signatures":0,"replication_records":0,"graph_snapshot":true,"references_resolved":false,"formal_links_present":false},"canonical_record":{"source":{"id":"2202.11840","kind":"arxiv","version":1},"metadata":{"license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2022-02-24T00:27:56Z","cross_cats_sorted":[],"title_canon_sha256":"3a5fc1c2d6cede9f2f0559bf502a8cd6cb547c343d1d112f153150ca2c300845","abstract_canon_sha256":"6a8473b7f2a13c20c98fdabae4a48cea0e0ad5a73b9ca3e1e633166ca5466552"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T03:59:46.836990Z","signature_b64":"S5za5bliWmsXn9OCzQbAhR3Ms0aLKYvWx+jgeA8UyE5z+IWanHfyLqRd+5gOK7OqnEqX77uSFOX6lwxmfK7iAg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"5f3dd1febbbd1d97c6a4521c23ffaafdbeca48c2d417a5328a43c1c0a98f68ae","last_reissued_at":"2026-07-05T03:59:46.836540Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T03:59:46.836540Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Scalpel: The Python Static Analysis Framework","license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Haowei Quan, Jiawei Wang, Li Li","submitted_at":"2022-02-24T00:27:56Z","abstract_excerpt":"Despite being the most popular programming language, Python has not yet received enough attention from the community. To the best of our knowledge, there is no general static analysis framework proposed to facilitate the implementation of dedicated Python static analyzers. To fill this gap, we design and implement such a framework (named Scalpel) and make it publicly available as an open-source project. The Scalpel framework has already integrated a number of fundamental static analysis functions (e.g., call graph constructions, control-flow graph constructions, alias analysis, etc.) that are "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2202.11840","kind":"arxiv","version":1},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2202.11840/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"references":{"count":0,"sample":[],"resolved_work":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","internal_anchors":0},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"author_claims":{"count":0,"strong_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"builder_version":"pith-number-builder-2026-05-17-v1"},"aliases":[{"alias_kind":"arxiv","alias_value":"2202.11840","created_at":"2026-07-05T03:59:46.836597+00:00"},{"alias_kind":"arxiv_version","alias_value":"2202.11840v1","created_at":"2026-07-05T03:59:46.836597+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2202.11840","created_at":"2026-07-05T03:59:46.836597+00:00"},{"alias_kind":"pith_short_12","alias_value":"L465D7V3XUOZ","created_at":"2026-07-05T03:59:46.836597+00:00"},{"alias_kind":"pith_short_16","alias_value":"L465D7V3XUOZPRVE","created_at":"2026-07-05T03:59:46.836597+00:00"},{"alias_kind":"pith_short_8","alias_value":"L465D7V3","created_at":"2026-07-05T03:59:46.836597+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":2,"internal_anchor_count":0,"sample":[{"citing_arxiv_id":"2607.01213","citing_title":"RepoRescue: An Empirical Study of LLM Agents on Whole-Repository Compatibility Rescue","ref_index":16,"is_internal_anchor":false},{"citing_arxiv_id":"2504.12034","citing_title":"OpDiffer: LLM-Assisted Opcode-Level Differential Testing of Ethereum Virtual Machine","ref_index":37,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W","json":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W.json","graph_json":"https://pith.science/api/pith-number/L465D7V3XUOZPRVEKIOCH75K7W/graph.json","events_json":"https://pith.science/api/pith-number/L465D7V3XUOZPRVEKIOCH75K7W/events.json","paper":"https://pith.science/paper/L465D7V3"},"agent_actions":{"view_html":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W","download_json":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W.json","view_paper":"https://pith.science/paper/L465D7V3","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2202.11840&json=true","fetch_graph":"https://pith.science/api/pith-number/L465D7V3XUOZPRVEKIOCH75K7W/graph.json","fetch_events":"https://pith.science/api/pith-number/L465D7V3XUOZPRVEKIOCH75K7W/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W/action/timestamp_anchor","attest_storage":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W/action/storage_attestation","attest_author":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W/action/author_attestation","sign_citation":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W/action/citation_signature","submit_replication":"https://pith.science/pith/L465D7V3XUOZPRVEKIOCH75K7W/action/replication_record"}},"created_at":"2026-07-05T03:59:46.836597+00:00","updated_at":"2026-07-05T03:59:46.836597+00:00"}