{"paper":{"title":"Viverra: Text-to-Code with Guarantees","license":"http://creativecommons.org/licenses/by-sa/4.0/","headline":"Viverra generates C code from natural language along with machine-verified assertions that improve human comprehension of the program.","cross_cats":["cs.AI","cs.HC","cs.LO"],"primary_cat":"cs.SE","authors_text":"Haoze Wu, Keith Farkas, Nina Narodytska, Rocky Klopfenstein","submitted_at":"2026-05-14T15:36:44Z","abstract_excerpt":"A fundamental limitation of Text-to-Code is that no guarantee can be obtained about the correctness of the generated code. Therefore, to ensure its correctness, the generated code still has to be reviewed, tested, and maintained by developers. However, parsing through LLM-generated code can be tedious and time-consuming, potentially negating the productivity gains promised by AI-coding tools. To address this challenge, we present Viverra, a system that automatically produces formally verified annotations alongside generated code to aid user's understanding of the generated program. Given a nat"},"claims":{"count":4,"items":[{"kind":"strongest_claim","text":"Evaluation on 18 diverse programming tasks suggests that Viverra can efficiently generate code with verified assertions, and that these assertions improve users' performance on code-comprehension tasks in a user study with more than 400 participants.","source":"verdict.strongest_claim","status":"machine_extracted","claim_id":"C1","attestation":"unclaimed"},{"kind":"weakest_assumption","text":"That the LLM will reliably produce candidate assertions that are both relevant to the task and within the reach of bounded model checkers so that the verified subset actually provides meaningful guarantees about the generated program.","source":"verdict.weakest_assumption","status":"machine_extracted","claim_id":"C2","attestation":"unclaimed"},{"kind":"one_line_summary","text":"Viverra generates C code from text descriptions together with assertions that are verified by model checkers, and a user study with over 400 participants shows the verified assertions improve code comprehension.","source":"verdict.one_line_summary","status":"machine_extracted","claim_id":"C3","attestation":"unclaimed"},{"kind":"headline","text":"Viverra generates C code from natural language along with machine-verified assertions that improve human comprehension of the program.","source":"verdict.pith_extraction.headline","status":"machine_extracted","claim_id":"C4","attestation":"unclaimed"}],"snapshot_sha256":"dd78fd0e5046a24054899acced1966ed8ad23c60a82179ad055910bc47dd53bd"},"source":{"id":"2605.14972","kind":"arxiv","version":1},"verdict":{"id":"0959ab8b-c706-4383-82ec-580e335a590e","model_set":{"reader":"grok-4.3"},"created_at":"2026-05-15T03:10:22.758076Z","strongest_claim":"Evaluation on 18 diverse programming tasks suggests that Viverra can efficiently generate code with verified assertions, and that these assertions improve users' performance on code-comprehension tasks in a user study with more than 400 participants.","one_line_summary":"Viverra generates C code from text descriptions together with assertions that are verified by model checkers, and a user study with over 400 participants shows the verified assertions improve code comprehension.","pipeline_version":"pith-pipeline@v0.9.0","weakest_assumption":"That the LLM will reliably produce candidate assertions that are both relevant to the task and within the reach of bounded model checkers so that the verified subset actually provides meaningful guarantees about the generated program.","pith_extraction_headline":"Viverra generates C code from natural language along with machine-verified assertions that improve human comprehension of the program."},"references":{"count":79,"sample":[{"doi":"","year":null,"title":"Evaluating Large Language Models Trained on Code","work_id":"042493e9-b26f-4b4e-bbde-382072ca9b08","ref_index":1,"cited_arxiv_id":"2107.03374","is_internal_anchor":true},{"doi":"","year":2022,"title":"Competition-level code generation with alphacode , author=. Science , volume=. 2022 , publisher=","work_id":"faa7b37d-0f85-41c5-b6d6-b60a994d201e","ref_index":2,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":null,"title":"Program Synthesis with Large Language Models","work_id":"fd241a05-03b9-4de2-9588-9d77ce176125","ref_index":3,"cited_arxiv_id":"2108.07732","is_internal_anchor":true},{"doi":"","year":2004,"title":"A Tool for Checking","work_id":"dfa0a70c-0568-4942-8dcb-ac373c3af6f6","ref_index":4,"cited_arxiv_id":"","is_internal_anchor":false},{"doi":"","year":2012,"title":"IEEE Transactions on Software Engineering , volume=","work_id":"d33bbb58-a8d8-4585-8c7f-488b87d2afdd","ref_index":5,"cited_arxiv_id":"","is_internal_anchor":false}],"resolved_work":79,"snapshot_sha256":"21354923042edeb74ed96dd4a0db628942137871725298da51752e1a39391629","internal_anchors":2},"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"}