{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2019:DSARFKEKMS2MCWRK2C3EVG6EHV","short_pith_number":"pith:DSARFKEK","canonical_record":{"source":{"id":"1903.09713","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-03-22T21:43:01Z","cross_cats_sorted":[],"title_canon_sha256":"67528ad2759eb254688593c327989891823a2cc28dc1aebb84369bd43af2b4b1","abstract_canon_sha256":"77ace0d0c48fe337b45c4175cccb2ac8e5366906f49d36dde5df446b646f5453"},"schema_version":"1.0"},"canonical_sha256":"1c8112a88a64b4c15a2ad0b64a9bc43d7cf5284382de1b676f8241ff82e2fbb8","source":{"kind":"arxiv","id":"1903.09713","version":2},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1903.09713","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"arxiv_version","alias_value":"1903.09713v2","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1903.09713","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"pith_short_12","alias_value":"DSARFKEKMS2M","created_at":"2026-05-18T12:33:15Z"},{"alias_kind":"pith_short_16","alias_value":"DSARFKEKMS2MCWRK","created_at":"2026-05-18T12:33:15Z"},{"alias_kind":"pith_short_8","alias_value":"DSARFKEK","created_at":"2026-05-18T12:33:15Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2019:DSARFKEKMS2MCWRK2C3EVG6EHV","target":"record","payload":{"canonical_record":{"source":{"id":"1903.09713","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-03-22T21:43:01Z","cross_cats_sorted":[],"title_canon_sha256":"67528ad2759eb254688593c327989891823a2cc28dc1aebb84369bd43af2b4b1","abstract_canon_sha256":"77ace0d0c48fe337b45c4175cccb2ac8e5366906f49d36dde5df446b646f5453"},"schema_version":"1.0"},"canonical_sha256":"1c8112a88a64b4c15a2ad0b64a9bc43d7cf5284382de1b676f8241ff82e2fbb8","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-17T23:41:53.254866Z","signature_b64":"FopUXseV79yjaoOn1IpkMlH7fiYrhBfGDNjivRM98f5/4W9J7Jmwrrt2TVZyCG7mBllCfz6KXOLPg4YXDe+lCw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"1c8112a88a64b4c15a2ad0b64a9bc43d7cf5284382de1b676f8241ff82e2fbb8","last_reissued_at":"2026-05-17T23:41:53.254485Z","signature_status":"signed_v1","first_computed_at":"2026-05-17T23:41:53.254485Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1903.09713","source_version":2,"attestation_state":"computed"},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:41:53Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"dOfN1TZoajrVQzG06K0qBXqqLkM+LWLKOZn7oNY9w9VVJLvKTAA/zTq4VsOfqsvAbPomtG72s7MscnxyUPomAA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-30T07:17:43.268222Z"},"content_sha256":"1356d33a10db849005d7cffef9352b57b8414fd2b00d87f0dee7a07d375ee1d1","schema_version":"1.0","event_id":"sha256:1356d33a10db849005d7cffef9352b57b8414fd2b00d87f0dee7a07d375ee1d1"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2019:DSARFKEKMS2MCWRK2C3EVG6EHV","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"SLING: Using Dynamic Analysis to Infer Program Invariants in Separation Logic","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Guolong Zheng, ThanhVu Nguyen, Ton Chanh Le","submitted_at":"2019-03-22T21:43:01Z","abstract_excerpt":"We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These traces consist of heap and stack information of variables that point to dynamically allocated data structures. Next, we iteratively analyze separate memory regions related to each pointer variable and search for a formula over predefined heap predicates in separation logic to model these regions. Finally, we combine the computed formulae into an invariant that de"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1903.09713","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"},"verdict_id":null},"signer":{"signer_id":"pith.science","signer_type":"pith_registry","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"created_at":"2026-05-17T23:41:53Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"YteZ4OKoHqMrxk8EGcz/QKHp3Ki01OYCXsN9GmAlxiPZHrfjmd7NB27urvtNgesSug15NyIxOaSlWGYnaAKbDQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-05-30T07:17:43.268576Z"},"content_sha256":"568d02798483481964adac71a4b8e42dc95ea45b5b8ef038b9eb1ecad405e1e4","schema_version":"1.0","event_id":"sha256:568d02798483481964adac71a4b8e42dc95ea45b5b8ef038b9eb1ecad405e1e4"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/bundle.json","state_url":"https://pith.science/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/bundle.json","status":"primary"}],"public_keys":[{"key_id":"pith-v1-2026-05","algorithm":"ed25519","format":"raw","public_key_b64":"stVStoiQhXFxp4s2pdzPNoqVNBMojDU/fJ2db5S3CbM=","public_key_hex":"b2d552b68890857171a78b36a5dccf368a953413288c353f7c9d9d6f94b709b3","fingerprint_sha256_b32_first128bits":"RVFV5Z2OI2J3ZUO7ERDEBCYNKS","fingerprint_sha256_hex":"8d4b5ee74e4693bcd1df2446408b0d54","rotates_at":null,"url":"https://pith.science/pith-signing-key.json","notes":"Pith uses this Ed25519 key to sign canonical record SHA-256 digests. Verify with: ed25519_verify(public_key, message=canonical_sha256_bytes, signature=base64decode(signature_b64))."}],"merge_version":"pith-open-graph-merge-v1","built_at":"2026-05-30T07:17:43Z","links":{"resolver":"https://pith.science/pith/DSARFKEKMS2MCWRK2C3EVG6EHV","bundle":"https://pith.science/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/bundle.json","state":"https://pith.science/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/state.json","well_known_bundle":"https://pith.science/.well-known/pith/DSARFKEKMS2MCWRK2C3EVG6EHV/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2019:DSARFKEKMS2MCWRK2C3EVG6EHV","merge_version":"pith-open-graph-merge-v1","event_count":2,"valid_event_count":2,"invalid_event_count":0,"equivocation_count":0,"current":{"canonical_record":{"metadata":{"abstract_canon_sha256":"77ace0d0c48fe337b45c4175cccb2ac8e5366906f49d36dde5df446b646f5453","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-03-22T21:43:01Z","title_canon_sha256":"67528ad2759eb254688593c327989891823a2cc28dc1aebb84369bd43af2b4b1"},"schema_version":"1.0","source":{"id":"1903.09713","kind":"arxiv","version":2}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1903.09713","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"arxiv_version","alias_value":"1903.09713v2","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1903.09713","created_at":"2026-05-17T23:41:53Z"},{"alias_kind":"pith_short_12","alias_value":"DSARFKEKMS2M","created_at":"2026-05-18T12:33:15Z"},{"alias_kind":"pith_short_16","alias_value":"DSARFKEKMS2MCWRK","created_at":"2026-05-18T12:33:15Z"},{"alias_kind":"pith_short_8","alias_value":"DSARFKEK","created_at":"2026-05-18T12:33:15Z"}],"graph_snapshots":[{"event_id":"sha256:568d02798483481964adac71a4b8e42dc95ea45b5b8ef038b9eb1ecad405e1e4","target":"graph","created_at":"2026-05-17T23:41:53Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"graph_snapshot":{"author_claims":{"count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57","strong_count":0},"builder_version":"pith-number-builder-2026-05-17-v1","claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"formal_canon":{"evidence_count":0,"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"paper":{"abstract_excerpt":"We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These traces consist of heap and stack information of variables that point to dynamically allocated data structures. Next, we iteratively analyze separate memory regions related to each pointer variable and search for a formula over predefined heap predicates in separation logic to model these regions. Finally, we combine the computed formulae into an invariant that de","authors_text":"Guolong Zheng, ThanhVu Nguyen, Ton Chanh Le","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-03-22T21:43:01Z","title":"SLING: Using Dynamic Analysis to Infer Program Invariants in Separation Logic"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1903.09713","kind":"arxiv","version":2},"verdict":{"created_at":null,"id":null,"model_set":{},"one_line_summary":"","pipeline_version":null,"pith_extraction_headline":"","strongest_claim":"","weakest_assumption":""}},"verdict_id":null}}],"author_attestations":[],"timestamp_anchors":[],"storage_attestations":[],"citation_signatures":[],"replication_records":[],"corrections":[],"mirror_hints":[],"record_created":{"event_id":"sha256:1356d33a10db849005d7cffef9352b57b8414fd2b00d87f0dee7a07d375ee1d1","target":"record","created_at":"2026-05-17T23:41:53Z","signer":{"key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signer_id":"pith.science","signer_type":"pith_registry"},"payload":{"attestation_state":"computed","canonical_record":{"metadata":{"abstract_canon_sha256":"77ace0d0c48fe337b45c4175cccb2ac8e5366906f49d36dde5df446b646f5453","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2019-03-22T21:43:01Z","title_canon_sha256":"67528ad2759eb254688593c327989891823a2cc28dc1aebb84369bd43af2b4b1"},"schema_version":"1.0","source":{"id":"1903.09713","kind":"arxiv","version":2}},"canonical_sha256":"1c8112a88a64b4c15a2ad0b64a9bc43d7cf5284382de1b676f8241ff82e2fbb8","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"1c8112a88a64b4c15a2ad0b64a9bc43d7cf5284382de1b676f8241ff82e2fbb8","first_computed_at":"2026-05-17T23:41:53.254485Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-17T23:41:53.254485Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"FopUXseV79yjaoOn1IpkMlH7fiYrhBfGDNjivRM98f5/4W9J7Jmwrrt2TVZyCG7mBllCfz6KXOLPg4YXDe+lCw==","signature_status":"signed_v1","signed_at":"2026-05-17T23:41:53.254866Z","signed_message":"canonical_sha256_bytes"},"source_id":"1903.09713","source_kind":"arxiv","source_version":2}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:1356d33a10db849005d7cffef9352b57b8414fd2b00d87f0dee7a07d375ee1d1","sha256:568d02798483481964adac71a4b8e42dc95ea45b5b8ef038b9eb1ecad405e1e4"],"state_sha256":"5eba5cb50ac4bf30a268cfd78acf2fcdaa44435a0267993c4796567250438b9c"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"qeRGYrnOVslGX/N1FkLKtBlfuqs+b1zkOn3tucZG7J/ZzL4fwnuEILtlvWYCoGoO87c1N8vOeYm9mHxd9Z8bCg==","signed_message":"bundle_sha256_bytes","signed_at":"2026-05-30T07:17:43.270587Z","bundle_sha256":"c399a00eeb520cb0a7ea84b49617f8cc83ec7752a6ce9212763dd4f609a8b492"}}