{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2018:2CUFU7LHIAQAYADRQR2GZMENJH","short_pith_number":"pith:2CUFU7LH","canonical_record":{"source":{"id":"1801.05198","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-01-16T10:36:18Z","cross_cats_sorted":[],"title_canon_sha256":"e84ff3f4f9f3c10389f62c5b12bb1a59f0e4838bc4ddcd838bb0feebab036213","abstract_canon_sha256":"cf9f391eda16fd95a43cb9cf6f5694f2a46b40cff2739e6eac2f2b908791e31c"},"schema_version":"1.0"},"canonical_sha256":"d0a85a7d6740200c007184746cb08d49faf03515fccddbf28b8b09ff87290ec6","source":{"kind":"arxiv","id":"1801.05198","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1801.05198","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"arxiv_version","alias_value":"1801.05198v1","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1801.05198","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"pith_short_12","alias_value":"2CUFU7LHIAQA","created_at":"2026-05-18T12:31:59Z"},{"alias_kind":"pith_short_16","alias_value":"2CUFU7LHIAQAYADR","created_at":"2026-05-18T12:31:59Z"},{"alias_kind":"pith_short_8","alias_value":"2CUFU7LH","created_at":"2026-05-18T12:31:59Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2018:2CUFU7LHIAQAYADRQR2GZMENJH","target":"record","payload":{"canonical_record":{"source":{"id":"1801.05198","kind":"arxiv","version":1},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-01-16T10:36:18Z","cross_cats_sorted":[],"title_canon_sha256":"e84ff3f4f9f3c10389f62c5b12bb1a59f0e4838bc4ddcd838bb0feebab036213","abstract_canon_sha256":"cf9f391eda16fd95a43cb9cf6f5694f2a46b40cff2739e6eac2f2b908791e31c"},"schema_version":"1.0"},"canonical_sha256":"d0a85a7d6740200c007184746cb08d49faf03515fccddbf28b8b09ff87290ec6","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:08:36.134079Z","signature_b64":"zjyAu7K1ewGjbH5BDFc0JZAoNlUVfm+KuQIl3L47y7PvHleTFt0payj3fTFC4oE0lt1ve1mZ6VG9llqdWFp4Cg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"d0a85a7d6740200c007184746cb08d49faf03515fccddbf28b8b09ff87290ec6","last_reissued_at":"2026-05-18T00:08:36.133380Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:08:36.133380Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1801.05198","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-18T00:08:36Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"zvW/YwAzaZKCOj5k7Oay2mOKrZvLgJ6GA/nvt+2IsoJyFRk/snj43T08dyPeeUV4J9y0uSpvu3dh1Q3mRXDtCA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-03T22:35:17.215889Z"},"content_sha256":"0405476a7e62796577696c93a4449328f75ba0f1d8408f800da0a12be990cf90","schema_version":"1.0","event_id":"sha256:0405476a7e62796577696c93a4449328f75ba0f1d8408f800da0a12be990cf90"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2018:2CUFU7LHIAQAYADRQR2GZMENJH","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Why and How Java Developers Break APIs","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Aline Brito, Andre Hora, Laerte Xavier, Marco Tulio Valente","submitted_at":"2018-01-16T10:36:18Z","abstract_excerpt":"Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking changes in APIs are unclear. Therefore, in this paper, we report the results of an almost 4-month long field study with the developers of 400 popular Java libraries and frameworks. We configured an infrastructure to observe all changes in these libraries and to detect breaking changes shortly after their introduction in the code. After identifying breaking chan"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1801.05198","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-18T00:08:36Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"HJRJNi1JA856gxsFH6GTw/vEO9bp/04DE3AHXpWyYB+gocw2Ej3jIXKNzGzc9q2Z2g3xDX7XndTsRcM0omeqCg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-03T22:35:17.216503Z"},"content_sha256":"6d07ed136563f244be302a84efbec57f33e2b90f6f0d5a42dbc5ce6936cef839","schema_version":"1.0","event_id":"sha256:6d07ed136563f244be302a84efbec57f33e2b90f6f0d5a42dbc5ce6936cef839"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/2CUFU7LHIAQAYADRQR2GZMENJH/bundle.json","state_url":"https://pith.science/pith/2CUFU7LHIAQAYADRQR2GZMENJH/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/2CUFU7LHIAQAYADRQR2GZMENJH/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-03T22:35:17Z","links":{"resolver":"https://pith.science/pith/2CUFU7LHIAQAYADRQR2GZMENJH","bundle":"https://pith.science/pith/2CUFU7LHIAQAYADRQR2GZMENJH/bundle.json","state":"https://pith.science/pith/2CUFU7LHIAQAYADRQR2GZMENJH/state.json","well_known_bundle":"https://pith.science/.well-known/pith/2CUFU7LHIAQAYADRQR2GZMENJH/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2018:2CUFU7LHIAQAYADRQR2GZMENJH","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":"cf9f391eda16fd95a43cb9cf6f5694f2a46b40cff2739e6eac2f2b908791e31c","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-01-16T10:36:18Z","title_canon_sha256":"e84ff3f4f9f3c10389f62c5b12bb1a59f0e4838bc4ddcd838bb0feebab036213"},"schema_version":"1.0","source":{"id":"1801.05198","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1801.05198","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"arxiv_version","alias_value":"1801.05198v1","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1801.05198","created_at":"2026-05-18T00:08:36Z"},{"alias_kind":"pith_short_12","alias_value":"2CUFU7LHIAQA","created_at":"2026-05-18T12:31:59Z"},{"alias_kind":"pith_short_16","alias_value":"2CUFU7LHIAQAYADR","created_at":"2026-05-18T12:31:59Z"},{"alias_kind":"pith_short_8","alias_value":"2CUFU7LH","created_at":"2026-05-18T12:31:59Z"}],"graph_snapshots":[{"event_id":"sha256:6d07ed136563f244be302a84efbec57f33e2b90f6f0d5a42dbc5ce6936cef839","target":"graph","created_at":"2026-05-18T00:08:36Z","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":"Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking changes in APIs are unclear. Therefore, in this paper, we report the results of an almost 4-month long field study with the developers of 400 popular Java libraries and frameworks. We configured an infrastructure to observe all changes in these libraries and to detect breaking changes shortly after their introduction in the code. After identifying breaking chan","authors_text":"Aline Brito, Andre Hora, Laerte Xavier, Marco Tulio Valente","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-01-16T10:36:18Z","title":"Why and How Java Developers Break APIs"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1801.05198","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:0405476a7e62796577696c93a4449328f75ba0f1d8408f800da0a12be990cf90","target":"record","created_at":"2026-05-18T00:08:36Z","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":"cf9f391eda16fd95a43cb9cf6f5694f2a46b40cff2739e6eac2f2b908791e31c","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2018-01-16T10:36:18Z","title_canon_sha256":"e84ff3f4f9f3c10389f62c5b12bb1a59f0e4838bc4ddcd838bb0feebab036213"},"schema_version":"1.0","source":{"id":"1801.05198","kind":"arxiv","version":1}},"canonical_sha256":"d0a85a7d6740200c007184746cb08d49faf03515fccddbf28b8b09ff87290ec6","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"d0a85a7d6740200c007184746cb08d49faf03515fccddbf28b8b09ff87290ec6","first_computed_at":"2026-05-18T00:08:36.133380Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:08:36.133380Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"zjyAu7K1ewGjbH5BDFc0JZAoNlUVfm+KuQIl3L47y7PvHleTFt0payj3fTFC4oE0lt1ve1mZ6VG9llqdWFp4Cg==","signature_status":"signed_v1","signed_at":"2026-05-18T00:08:36.134079Z","signed_message":"canonical_sha256_bytes"},"source_id":"1801.05198","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:0405476a7e62796577696c93a4449328f75ba0f1d8408f800da0a12be990cf90","sha256:6d07ed136563f244be302a84efbec57f33e2b90f6f0d5a42dbc5ce6936cef839"],"state_sha256":"21ac716f1f2ea6ae14039cc2c242783a7216d2d6ee380496a8f0d9287a6959ac"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"bcc2iDbMHnJvRuoft0xI6H1a3L6lYSBsgg2rYUequts+wOyvAsohuGDCK95kFHR0lBt8uTGpX0fMk9nG5GOnAQ==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-03T22:35:17.219150Z","bundle_sha256":"99d6fd7d5f2a899f366e65b245aa143dc344a26176519246663b7b54654714bc"}}