{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2016:IJWONXJRTAH5QWDTOLTPSQCGL2","short_pith_number":"pith:IJWONXJR","schema_version":"1.0","canonical_sha256":"426ce6dd31980fd8587372e6f940465ebbcf375c1e3e7f12106d84f7744b2532","source":{"kind":"arxiv","id":"1611.01507","version":2},"attestation_state":"computed","paper":{"title":"Counterexamples and Proof Loophole for the C/C++ to POWER and ARMv7 Trailing-Sync Compiler Mappings","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Caroline Trippel, Daniel Lustig, Margaret Martonosi, Michael Pellauer, Yatin A. Manerkar","submitted_at":"2016-11-04T19:52:35Z","abstract_excerpt":"The C and C++ high-level languages provide programmers with atomic operations for writing high-performance concurrent code. At the assembly language level, C and C++ atomics get mapped down to individual instructions or combinations of instructions by compilers, depending on the ordering guarantees and synchronization instructions provided by the underlying architecture. These compiler mappings must uphold the ordering guarantees provided by C/C++ atomics or the compiled program will not behave according to the C/C++ memory model. In this paper we discuss two counterexamples to the well-known "},"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":"1611.01507","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.PL","submitted_at":"2016-11-04T19:52:35Z","cross_cats_sorted":[],"title_canon_sha256":"1e7cdc8b106ae26cbcab13914320e434c345bb8672c8fda21bd4117a6a722f44","abstract_canon_sha256":"b56acd6740109815bbac1f21e49406e9692a2209c0bbc6570eb78339f1b2a523"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:58:03.577647Z","signature_b64":"syJ7Hfx3qCzvxwg+PkRjAFJ8Qu31IJOv14ORH3arTXX6oCz13+RrpSO2EKKzMTAucQNAJdr9ZX/TGDyJnfCgDg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"426ce6dd31980fd8587372e6f940465ebbcf375c1e3e7f12106d84f7744b2532","last_reissued_at":"2026-05-18T00:58:03.576980Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:58:03.576980Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Counterexamples and Proof Loophole for the C/C++ to POWER and ARMv7 Trailing-Sync Compiler Mappings","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.PL","authors_text":"Caroline Trippel, Daniel Lustig, Margaret Martonosi, Michael Pellauer, Yatin A. Manerkar","submitted_at":"2016-11-04T19:52:35Z","abstract_excerpt":"The C and C++ high-level languages provide programmers with atomic operations for writing high-performance concurrent code. At the assembly language level, C and C++ atomics get mapped down to individual instructions or combinations of instructions by compilers, depending on the ordering guarantees and synchronization instructions provided by the underlying architecture. These compiler mappings must uphold the ordering guarantees provided by C/C++ atomics or the compiled program will not behave according to the C/C++ memory model. In this paper we discuss two counterexamples to the well-known "},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1611.01507","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":"1611.01507","created_at":"2026-05-18T00:58:03.577085+00:00"},{"alias_kind":"arxiv_version","alias_value":"1611.01507v2","created_at":"2026-05-18T00:58:03.577085+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1611.01507","created_at":"2026-05-18T00:58:03.577085+00:00"},{"alias_kind":"pith_short_12","alias_value":"IJWONXJRTAH5","created_at":"2026-05-18T12:30:22.444734+00:00"},{"alias_kind":"pith_short_16","alias_value":"IJWONXJRTAH5QWDT","created_at":"2026-05-18T12:30:22.444734+00:00"},{"alias_kind":"pith_short_8","alias_value":"IJWONXJR","created_at":"2026-05-18T12:30:22.444734+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":1,"internal_anchor_count":0,"sample":[{"citing_arxiv_id":"2605.04172","citing_title":"t\\\"{a}k\\={o}Formal: Enabling Robust Software for Programmable Memory Hierarchies (Extended Version)","ref_index":44,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2","json":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2.json","graph_json":"https://pith.science/api/pith-number/IJWONXJRTAH5QWDTOLTPSQCGL2/graph.json","events_json":"https://pith.science/api/pith-number/IJWONXJRTAH5QWDTOLTPSQCGL2/events.json","paper":"https://pith.science/paper/IJWONXJR"},"agent_actions":{"view_html":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2","download_json":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2.json","view_paper":"https://pith.science/paper/IJWONXJR","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=1611.01507&json=true","fetch_graph":"https://pith.science/api/pith-number/IJWONXJRTAH5QWDTOLTPSQCGL2/graph.json","fetch_events":"https://pith.science/api/pith-number/IJWONXJRTAH5QWDTOLTPSQCGL2/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2/action/timestamp_anchor","attest_storage":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2/action/storage_attestation","attest_author":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2/action/author_attestation","sign_citation":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2/action/citation_signature","submit_replication":"https://pith.science/pith/IJWONXJRTAH5QWDTOLTPSQCGL2/action/replication_record"}},"created_at":"2026-05-18T00:58:03.577085+00:00","updated_at":"2026-05-18T00:58:03.577085+00:00"}