{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2013:WTISK3B6GQ2YKLCDLEOPKYRB7W","short_pith_number":"pith:WTISK3B6","canonical_record":{"source":{"id":"1301.4258","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2013-01-17T22:12:36Z","cross_cats_sorted":["cs.SE"],"title_canon_sha256":"68ddd4bc0b8f537be2e008af54b643d8a9f9875289fa68d4bf6fcb3fc8fb7be2","abstract_canon_sha256":"d965803f171d049fd5e8f096112e1028a95590a41bf4021f2c6c8bae81cd36ca"},"schema_version":"1.0"},"canonical_sha256":"b4d1256c3e3435852c43591cf56221fd94688dd914fe0f23e2a53a3d2765a4b7","source":{"kind":"arxiv","id":"1301.4258","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1301.4258","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"arxiv_version","alias_value":"1301.4258v1","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1301.4258","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"pith_short_12","alias_value":"WTISK3B6GQ2Y","created_at":"2026-05-18T12:28:04Z"},{"alias_kind":"pith_short_16","alias_value":"WTISK3B6GQ2YKLCD","created_at":"2026-05-18T12:28:04Z"},{"alias_kind":"pith_short_8","alias_value":"WTISK3B6","created_at":"2026-05-18T12:28:04Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2013:WTISK3B6GQ2YKLCDLEOPKYRB7W","target":"record","payload":{"canonical_record":{"source":{"id":"1301.4258","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2013-01-17T22:12:36Z","cross_cats_sorted":["cs.SE"],"title_canon_sha256":"68ddd4bc0b8f537be2e008af54b643d8a9f9875289fa68d4bf6fcb3fc8fb7be2","abstract_canon_sha256":"d965803f171d049fd5e8f096112e1028a95590a41bf4021f2c6c8bae81cd36ca"},"schema_version":"1.0"},"canonical_sha256":"b4d1256c3e3435852c43591cf56221fd94688dd914fe0f23e2a53a3d2765a4b7","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T03:36:05.775141Z","signature_b64":"9o6Iy0p0XWLvq5eJSuudW/fy9w5MkJGZk1i5T+ENepgIyYePssNy93OqssOD62LICxVAQtG3Z6n7LloTLezEBw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"b4d1256c3e3435852c43591cf56221fd94688dd914fe0f23e2a53a3d2765a4b7","last_reissued_at":"2026-05-18T03:36:05.774469Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T03:36:05.774469Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1301.4258","source_version":1,"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-18T03:36:05Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"T0pa0gt7kdHihOdN9+uG+BZWt/fGaB0jEZuPZsgTLKLlpt4IJp/a2tBni7i1SRnBMgzx+IRkRa8h3RDhqCAmDw==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-03T19:57:29.200220Z"},"content_sha256":"d86044906cdf62ab1fb157a15c26b97fbf935672afb4cbb205fab59ac5f995bf","schema_version":"1.0","event_id":"sha256:d86044906cdf62ab1fb157a15c26b97fbf935672afb4cbb205fab59ac5f995bf"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2013:WTISK3B6GQ2YKLCDLEOPKYRB7W","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Design Pattern-Based Extension of Class Hierarchies to Support Runtime Invariant Checks","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.SE"],"primary_cat":"cs.PL","authors_text":"John Cipriano, John Lasseter","submitted_at":"2013-01-17T22:12:36Z","abstract_excerpt":"We present a technique for automatically weaving structural invariant checks into an existing collection of classes. Using variations on existing design patterns, we use a concise specification to generate from this collection a new set of classes that implement the interfaces of the originals, but with the addition of user-specified class invariant checks. Our work is notable in the scarcity of assumptions made. Unlike previous design pattern approaches to this problem, our technique requires no modification of the original source code, relies only on single inheritance, and does not require "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1301.4258","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":""},"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-18T03:36:05Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"SxgjoYNbGE0r6IdS205mIe6tlpadLm+VAKv4J0W6UHcbhzza+f2i7vrdODvPp8Z5hKvcH+C/j2EydvAHSj4aDA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-03T19:57:29.200975Z"},"content_sha256":"64728c99b8d70fe8342b4cdc8474ecff21e2b5460e2a56a42e754b3d20645c7f","schema_version":"1.0","event_id":"sha256:64728c99b8d70fe8342b4cdc8474ecff21e2b5460e2a56a42e754b3d20645c7f"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/bundle.json","state_url":"https://pith.science/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/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-08-03T19:57:29Z","links":{"resolver":"https://pith.science/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W","bundle":"https://pith.science/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/bundle.json","state":"https://pith.science/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/state.json","well_known_bundle":"https://pith.science/.well-known/pith/WTISK3B6GQ2YKLCDLEOPKYRB7W/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2013:WTISK3B6GQ2YKLCDLEOPKYRB7W","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":"d965803f171d049fd5e8f096112e1028a95590a41bf4021f2c6c8bae81cd36ca","cross_cats_sorted":["cs.SE"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2013-01-17T22:12:36Z","title_canon_sha256":"68ddd4bc0b8f537be2e008af54b643d8a9f9875289fa68d4bf6fcb3fc8fb7be2"},"schema_version":"1.0","source":{"id":"1301.4258","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1301.4258","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"arxiv_version","alias_value":"1301.4258v1","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1301.4258","created_at":"2026-05-18T03:36:05Z"},{"alias_kind":"pith_short_12","alias_value":"WTISK3B6GQ2Y","created_at":"2026-05-18T12:28:04Z"},{"alias_kind":"pith_short_16","alias_value":"WTISK3B6GQ2YKLCD","created_at":"2026-05-18T12:28:04Z"},{"alias_kind":"pith_short_8","alias_value":"WTISK3B6","created_at":"2026-05-18T12:28:04Z"}],"graph_snapshots":[{"event_id":"sha256:64728c99b8d70fe8342b4cdc8474ecff21e2b5460e2a56a42e754b3d20645c7f","target":"graph","created_at":"2026-05-18T03:36:05Z","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 present a technique for automatically weaving structural invariant checks into an existing collection of classes. Using variations on existing design patterns, we use a concise specification to generate from this collection a new set of classes that implement the interfaces of the originals, but with the addition of user-specified class invariant checks. Our work is notable in the scarcity of assumptions made. Unlike previous design pattern approaches to this problem, our technique requires no modification of the original source code, relies only on single inheritance, and does not require ","authors_text":"John Cipriano, John Lasseter","cross_cats":["cs.SE"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2013-01-17T22:12:36Z","title":"Design Pattern-Based Extension of Class Hierarchies to Support Runtime Invariant Checks"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1301.4258","kind":"arxiv","version":1},"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:d86044906cdf62ab1fb157a15c26b97fbf935672afb4cbb205fab59ac5f995bf","target":"record","created_at":"2026-05-18T03:36:05Z","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":"d965803f171d049fd5e8f096112e1028a95590a41bf4021f2c6c8bae81cd36ca","cross_cats_sorted":["cs.SE"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2013-01-17T22:12:36Z","title_canon_sha256":"68ddd4bc0b8f537be2e008af54b643d8a9f9875289fa68d4bf6fcb3fc8fb7be2"},"schema_version":"1.0","source":{"id":"1301.4258","kind":"arxiv","version":1}},"canonical_sha256":"b4d1256c3e3435852c43591cf56221fd94688dd914fe0f23e2a53a3d2765a4b7","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"b4d1256c3e3435852c43591cf56221fd94688dd914fe0f23e2a53a3d2765a4b7","first_computed_at":"2026-05-18T03:36:05.774469Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T03:36:05.774469Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"9o6Iy0p0XWLvq5eJSuudW/fy9w5MkJGZk1i5T+ENepgIyYePssNy93OqssOD62LICxVAQtG3Z6n7LloTLezEBw==","signature_status":"signed_v1","signed_at":"2026-05-18T03:36:05.775141Z","signed_message":"canonical_sha256_bytes"},"source_id":"1301.4258","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:d86044906cdf62ab1fb157a15c26b97fbf935672afb4cbb205fab59ac5f995bf","sha256:64728c99b8d70fe8342b4cdc8474ecff21e2b5460e2a56a42e754b3d20645c7f"],"state_sha256":"eb63fb68a3e1d75bc45ef7000a83d31118beea976650164091e7678d92b986b9"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"QOHMg0e8yfkTiv+giwhysYmh5h4TqvX8N4Q2GAEvwYmdji5LzUTJyAPCcHsFvP47M1BdPzVYuNVF/gSfi1WjBQ==","signed_message":"bundle_sha256_bytes","signed_at":"2026-08-03T19:57:29.212619Z","bundle_sha256":"3b5997a01b122ddf1697c4b6defff7feda7ef793fc62362d89c6ae086112ea24"}}