{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2017:BJWEBSRMCUS346BYKGMNVDYN23","short_pith_number":"pith:BJWEBSRM","schema_version":"1.0","canonical_sha256":"0a6c40ca2c1525be78385198da8f0dd6f9a444c4d67ca8890e1e1430313bdb98","source":{"kind":"arxiv","id":"1710.06125","version":2},"attestation_state":"computed","paper":{"title":"EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Gregory J. Duck, Roland H. C. Yap","submitted_at":"2017-10-17T07:03:13Z","abstract_excerpt":"Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such errors account for many security and other undefined behavior bugs for programs written in these languages. In this paper, we introduce the notion of dynamically typed C/C++, which aims to detect such errors by dynamically checking the \"effective type\" of each object before use at runtime. We also present an implementation of dynamically typed C/C++ in the form "},"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":"1710.06125","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2017-10-17T07:03:13Z","cross_cats_sorted":[],"title_canon_sha256":"8d4d9c999bdde6ff4070fa436acf795b541056f8106552a5a0dbd2b2369c9ab3","abstract_canon_sha256":"4f4074e0d073f55ae43dcefbc8bbde112f498f1abd421fc38ab404ea1f3158fc"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:18:05.196056Z","signature_b64":"yISdufkZqi1Wpzo2qbs7hG4PxiDQoFfRKWEv25GwE7p6WtWNPQ6kTg0TgFpducGDcViP6qQ0ZpM2+o7Bq0VOBQ==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"0a6c40ca2c1525be78385198da8f0dd6f9a444c4d67ca8890e1e1430313bdb98","last_reissued_at":"2026-05-18T00:18:05.195424Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:18:05.195424Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Gregory J. Duck, Roland H. C. Yap","submitted_at":"2017-10-17T07:03:13Z","abstract_excerpt":"Low-level programming languages with weak/static type systems, such as C and C++, are vulnerable to errors relating to the misuse of memory at runtime, such as (sub-)object bounds overflows, (re)use-after-free, and type confusion. Such errors account for many security and other undefined behavior bugs for programs written in these languages. In this paper, we introduce the notion of dynamically typed C/C++, which aims to detect such errors by dynamically checking the \"effective type\" of each object before use at runtime. We also present an implementation of dynamically typed C/C++ in the form "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1710.06125","kind":"arxiv","version":2},"verdict":{"id":null,"model_set":{},"created_at":null,"strongest_claim":"","one_line_summary":"","pipeline_version":null,"weakest_assumption":"","pith_extraction_headline":""},"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":"1710.06125","created_at":"2026-05-18T00:18:05.195511+00:00"},{"alias_kind":"arxiv_version","alias_value":"1710.06125v2","created_at":"2026-05-18T00:18:05.195511+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1710.06125","created_at":"2026-05-18T00:18:05.195511+00:00"},{"alias_kind":"pith_short_12","alias_value":"BJWEBSRMCUS3","created_at":"2026-05-18T12:31:08.081275+00:00"},{"alias_kind":"pith_short_16","alias_value":"BJWEBSRMCUS346BY","created_at":"2026-05-18T12:31:08.081275+00:00"},{"alias_kind":"pith_short_8","alias_value":"BJWEBSRM","created_at":"2026-05-18T12:31:08.081275+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":0,"internal_anchor_count":0,"sample":[]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23","json":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23.json","graph_json":"https://pith.science/api/pith-number/BJWEBSRMCUS346BYKGMNVDYN23/graph.json","events_json":"https://pith.science/api/pith-number/BJWEBSRMCUS346BYKGMNVDYN23/events.json","paper":"https://pith.science/paper/BJWEBSRM"},"agent_actions":{"view_html":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23","download_json":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23.json","view_paper":"https://pith.science/paper/BJWEBSRM","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=1710.06125&json=true","fetch_graph":"https://pith.science/api/pith-number/BJWEBSRMCUS346BYKGMNVDYN23/graph.json","fetch_events":"https://pith.science/api/pith-number/BJWEBSRMCUS346BYKGMNVDYN23/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23/action/timestamp_anchor","attest_storage":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23/action/storage_attestation","attest_author":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23/action/author_attestation","sign_citation":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23/action/citation_signature","submit_replication":"https://pith.science/pith/BJWEBSRMCUS346BYKGMNVDYN23/action/replication_record"}},"created_at":"2026-05-18T00:18:05.195511+00:00","updated_at":"2026-05-18T00:18:05.195511+00:00"}