{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2024:OUU5MQ6TQ6M5HYQL5ZAGMSG5NV","short_pith_number":"pith:OUU5MQ6T","schema_version":"1.0","canonical_sha256":"7529d643d38799d3e20bee406648dd6d615ffc70fbebb38cda539a1fb5399f34","source":{"kind":"arxiv","id":"2411.14174","version":2},"attestation_state":"computed","paper":{"title":"Translating C To Rust: Lessons from a User Study","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.CR","cs.PL"],"primary_cat":"cs.SE","authors_text":"Ashish Kundu, Bo Wang, Prateek Saxena, Ruishi Li, Tianyu Li","submitted_at":"2024-11-21T14:37:05Z","abstract_excerpt":"Rust aims to offer full memory safety for programs, a guarantee that untamed C programs do not enjoy. How difficult is it to translate existing C code to Rust? To get a complementary view from that of automatic C to Rust translators, we report on a user study asking humans to translate real-world C programs to Rust. Our participants are able to produce safe Rust translations, whereas state-of-the-art automatic tools are not able to do so. Our analysis highlights that the high-level strategy taken by users departs significantly from those of automatic tools we study. We also find that users oft"},"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":"2411.14174","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2024-11-21T14:37:05Z","cross_cats_sorted":["cs.CR","cs.PL"],"title_canon_sha256":"336d3d688ac646b0bbebb94c572e0d67234b4c94379e718185c672b0c2b57385","abstract_canon_sha256":"d3cc8e68640035262f3787ad9a4ff5e4603edf0cdc3b3616d76630e9df9a9474"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T09:45:16.518775Z","signature_b64":"AgkuBwrCPNhZpy53H/AMnkOL5xqZ1UwegUPW6x9d5kRhgZIRAYlHpAnT1hYktAwhA1lunkcRS/8S4qAu2C8/BQ==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"7529d643d38799d3e20bee406648dd6d615ffc70fbebb38cda539a1fb5399f34","last_reissued_at":"2026-07-05T09:45:16.518346Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T09:45:16.518346Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Translating C To Rust: Lessons from a User Study","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":["cs.CR","cs.PL"],"primary_cat":"cs.SE","authors_text":"Ashish Kundu, Bo Wang, Prateek Saxena, Ruishi Li, Tianyu Li","submitted_at":"2024-11-21T14:37:05Z","abstract_excerpt":"Rust aims to offer full memory safety for programs, a guarantee that untamed C programs do not enjoy. How difficult is it to translate existing C code to Rust? To get a complementary view from that of automatic C to Rust translators, we report on a user study asking humans to translate real-world C programs to Rust. Our participants are able to produce safe Rust translations, whereas state-of-the-art automatic tools are not able to do so. Our analysis highlights that the high-level strategy taken by users departs significantly from those of automatic tools we study. We also find that users oft"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2411.14174","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":""},"integrity":{"clean":true,"summary":{"advisory":0,"critical":0,"by_detector":{},"informational":0},"endpoint":"/pith/2411.14174/integrity.json","findings":[],"available":true,"detectors_run":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938"},"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":"2411.14174","created_at":"2026-07-05T09:45:16.518401+00:00"},{"alias_kind":"arxiv_version","alias_value":"2411.14174v2","created_at":"2026-07-05T09:45:16.518401+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2411.14174","created_at":"2026-07-05T09:45:16.518401+00:00"},{"alias_kind":"pith_short_12","alias_value":"OUU5MQ6TQ6M5","created_at":"2026-07-05T09:45:16.518401+00:00"},{"alias_kind":"pith_short_16","alias_value":"OUU5MQ6TQ6M5HYQL","created_at":"2026-07-05T09:45:16.518401+00:00"},{"alias_kind":"pith_short_8","alias_value":"OUU5MQ6T","created_at":"2026-07-05T09:45:16.518401+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":3,"internal_anchor_count":0,"sample":[{"citing_arxiv_id":"2606.27122","citing_title":"Mostly Automatic Translation of Language Interpreters from C to Safe Rust","ref_index":29,"is_internal_anchor":false},{"citing_arxiv_id":"2505.10708","citing_title":"SafeTrans: LLM-assisted Transpilation from C to Rust","ref_index":21,"is_internal_anchor":false},{"citing_arxiv_id":"2604.12048","citing_title":"ORBIT: Guided Agentic Orchestration for Autonomous C-to-Rust Transpilation","ref_index":26,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV","json":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV.json","graph_json":"https://pith.science/api/pith-number/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/graph.json","events_json":"https://pith.science/api/pith-number/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/events.json","paper":"https://pith.science/paper/OUU5MQ6T"},"agent_actions":{"view_html":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV","download_json":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV.json","view_paper":"https://pith.science/paper/OUU5MQ6T","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2411.14174&json=true","fetch_graph":"https://pith.science/api/pith-number/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/graph.json","fetch_events":"https://pith.science/api/pith-number/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/action/timestamp_anchor","attest_storage":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/action/storage_attestation","attest_author":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/action/author_attestation","sign_citation":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/action/citation_signature","submit_replication":"https://pith.science/pith/OUU5MQ6TQ6M5HYQL5ZAGMSG5NV/action/replication_record"}},"created_at":"2026-07-05T09:45:16.518401+00:00","updated_at":"2026-07-05T09:45:16.518401+00:00"}