{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2017:LV5QMCGX6HUM6452C2SG5THBET","short_pith_number":"pith:LV5QMCGX","canonical_record":{"source":{"id":"1701.07842","kind":"arxiv","version":3},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-01-26T19:06:45Z","cross_cats_sorted":["cs.LG","cs.PL"],"title_canon_sha256":"b15ef989e4f3732f90553a857910e0d18861ba395d635b315a0e118a9f537fe1","abstract_canon_sha256":"a51fa560d780b55e1ad912ea26e340f80984cce68f920fe9a520aacbf4f03120"},"schema_version":"1.0"},"canonical_sha256":"5d7b0608d7f1e8cf73ba16a46ecce124d312c4866a76db0878e08b7ef693c869","source":{"kind":"arxiv","id":"1701.07842","version":3},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1701.07842","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"arxiv_version","alias_value":"1701.07842v3","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1701.07842","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"pith_short_12","alias_value":"LV5QMCGX6HUM","created_at":"2026-05-18T12:31:28Z"},{"alias_kind":"pith_short_16","alias_value":"LV5QMCGX6HUM6452","created_at":"2026-05-18T12:31:28Z"},{"alias_kind":"pith_short_8","alias_value":"LV5QMCGX","created_at":"2026-05-18T12:31:28Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2017:LV5QMCGX6HUM6452C2SG5THBET","target":"record","payload":{"canonical_record":{"source":{"id":"1701.07842","kind":"arxiv","version":3},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-01-26T19:06:45Z","cross_cats_sorted":["cs.LG","cs.PL"],"title_canon_sha256":"b15ef989e4f3732f90553a857910e0d18861ba395d635b315a0e118a9f537fe1","abstract_canon_sha256":"a51fa560d780b55e1ad912ea26e340f80984cce68f920fe9a520aacbf4f03120"},"schema_version":"1.0"},"canonical_sha256":"5d7b0608d7f1e8cf73ba16a46ecce124d312c4866a76db0878e08b7ef693c869","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:22:11.155593Z","signature_b64":"z0cj2Di710JxMt3JHpj75XcPmV7fVNp34Z454VzrSwQobAxTwCnJGQNcQ4Ocz8nS2r3fCXGTjAOPfOBj6tdrDw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"5d7b0608d7f1e8cf73ba16a46ecce124d312c4866a76db0878e08b7ef693c869","last_reissued_at":"2026-05-18T00:22:11.155137Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:22:11.155137Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1701.07842","source_version":3,"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-18T00:22:11Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Zv8qrUucmwRNQkE3V71TEa6X+KifxQ89+DsDzqXKb3ilGcWwY2v4beuvubabvRSvGBOx2JKyr5uaSFrUPINgCA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-04T10:50:48.353520Z"},"content_sha256":"b167396506d948c1991ccb2b99a4055a67fe683821c55ce7f522b3b4e963e79f","schema_version":"1.0","event_id":"sha256:b167396506d948c1991ccb2b99a4055a67fe683821c55ce7f522b3b4e963e79f"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2017:LV5QMCGX6HUM6452C2SG5THBET","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"DroidStar: Callback Typestates for Android Classes","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.LG","cs.PL"],"primary_cat":"cs.LO","authors_text":"Arjun Radhakrishna, Bor-Yuh Evan Chang, Damien Zufferey, Krishna Chaitanya Sripada, Nicholas V. Lewchenko, Pavol \\v{C}ern\\'y, Sergio Mover, Shawn Meier","submitted_at":"2017-01-26T19:06:45Z","abstract_excerpt":"Event-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub *callback typestates*. Callback typestates are akin to classical typestates, with the difference that their outputs (callbacks) are produced asynchronously. While useful, these specifications are not commonly available, because writing them is difficult and error-prone.\n  Our goal is to make the task of producing callback typestates significantly easier. We present a callback typest"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1701.07842","kind":"arxiv","version":3},"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-18T00:22:11Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"gKQaSVzQJ9lfKWlWw75/ZMh6CtU5QZLwC7Ia7nZUZbO1p/WYioWnZxyJwUO6dXFItW/6wrntjYDIusm51tUDBg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-04T10:50:48.353869Z"},"content_sha256":"d19917e11eefd799ded1bdcf4f4576aad7563753fad44b94952e2049b6c51c14","schema_version":"1.0","event_id":"sha256:d19917e11eefd799ded1bdcf4f4576aad7563753fad44b94952e2049b6c51c14"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/LV5QMCGX6HUM6452C2SG5THBET/bundle.json","state_url":"https://pith.science/pith/LV5QMCGX6HUM6452C2SG5THBET/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/LV5QMCGX6HUM6452C2SG5THBET/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-06-04T10:50:48Z","links":{"resolver":"https://pith.science/pith/LV5QMCGX6HUM6452C2SG5THBET","bundle":"https://pith.science/pith/LV5QMCGX6HUM6452C2SG5THBET/bundle.json","state":"https://pith.science/pith/LV5QMCGX6HUM6452C2SG5THBET/state.json","well_known_bundle":"https://pith.science/.well-known/pith/LV5QMCGX6HUM6452C2SG5THBET/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2017:LV5QMCGX6HUM6452C2SG5THBET","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":"a51fa560d780b55e1ad912ea26e340f80984cce68f920fe9a520aacbf4f03120","cross_cats_sorted":["cs.LG","cs.PL"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-01-26T19:06:45Z","title_canon_sha256":"b15ef989e4f3732f90553a857910e0d18861ba395d635b315a0e118a9f537fe1"},"schema_version":"1.0","source":{"id":"1701.07842","kind":"arxiv","version":3}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1701.07842","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"arxiv_version","alias_value":"1701.07842v3","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1701.07842","created_at":"2026-05-18T00:22:11Z"},{"alias_kind":"pith_short_12","alias_value":"LV5QMCGX6HUM","created_at":"2026-05-18T12:31:28Z"},{"alias_kind":"pith_short_16","alias_value":"LV5QMCGX6HUM6452","created_at":"2026-05-18T12:31:28Z"},{"alias_kind":"pith_short_8","alias_value":"LV5QMCGX","created_at":"2026-05-18T12:31:28Z"}],"graph_snapshots":[{"event_id":"sha256:d19917e11eefd799ded1bdcf4f4576aad7563753fad44b94952e2049b6c51c14","target":"graph","created_at":"2026-05-18T00:22:11Z","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":"Event-driven programming frameworks, such as Android, are based on components with asynchronous interfaces. The protocols for interacting with these components can often be described by finite-state machines we dub *callback typestates*. Callback typestates are akin to classical typestates, with the difference that their outputs (callbacks) are produced asynchronously. While useful, these specifications are not commonly available, because writing them is difficult and error-prone.\n  Our goal is to make the task of producing callback typestates significantly easier. We present a callback typest","authors_text":"Arjun Radhakrishna, Bor-Yuh Evan Chang, Damien Zufferey, Krishna Chaitanya Sripada, Nicholas V. Lewchenko, Pavol \\v{C}ern\\'y, Sergio Mover, Shawn Meier","cross_cats":["cs.LG","cs.PL"],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-01-26T19:06:45Z","title":"DroidStar: Callback Typestates for Android Classes"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1701.07842","kind":"arxiv","version":3},"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:b167396506d948c1991ccb2b99a4055a67fe683821c55ce7f522b3b4e963e79f","target":"record","created_at":"2026-05-18T00:22:11Z","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":"a51fa560d780b55e1ad912ea26e340f80984cce68f920fe9a520aacbf4f03120","cross_cats_sorted":["cs.LG","cs.PL"],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.LO","submitted_at":"2017-01-26T19:06:45Z","title_canon_sha256":"b15ef989e4f3732f90553a857910e0d18861ba395d635b315a0e118a9f537fe1"},"schema_version":"1.0","source":{"id":"1701.07842","kind":"arxiv","version":3}},"canonical_sha256":"5d7b0608d7f1e8cf73ba16a46ecce124d312c4866a76db0878e08b7ef693c869","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"5d7b0608d7f1e8cf73ba16a46ecce124d312c4866a76db0878e08b7ef693c869","first_computed_at":"2026-05-18T00:22:11.155137Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:22:11.155137Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"z0cj2Di710JxMt3JHpj75XcPmV7fVNp34Z454VzrSwQobAxTwCnJGQNcQ4Ocz8nS2r3fCXGTjAOPfOBj6tdrDw==","signature_status":"signed_v1","signed_at":"2026-05-18T00:22:11.155593Z","signed_message":"canonical_sha256_bytes"},"source_id":"1701.07842","source_kind":"arxiv","source_version":3}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:b167396506d948c1991ccb2b99a4055a67fe683821c55ce7f522b3b4e963e79f","sha256:d19917e11eefd799ded1bdcf4f4576aad7563753fad44b94952e2049b6c51c14"],"state_sha256":"95a550194d977d05b9105b99aaec8066835985c9252a6f23f74e6f2112eed5c2"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"qGosS32C3TemGf1kye+nOHD39DXNM5AsDOE19sQGudGlgEqxPPcxOBvrg37a3l2tRg1sgqB9Q1NE9/BPs+1oDA==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-04T10:50:48.355834Z","bundle_sha256":"d05aefd983f1873848eaac43d2fa53f0d3f2e620c7c1ef03ea440a764077b3ca"}}