{"record_type":"pith_number_record","schema_url":"https://pith.science/schemas/pith-number/v1.json","pith_number":"pith:2025:W7GWPR5EIBJBZLY4IAG4EM4CKE","short_pith_number":"pith:W7GWPR5E","schema_version":"1.0","canonical_sha256":"b7cd67c7a440521caf1c400dc23382511f79cccaff437db8e06a8b623255c82d","source":{"kind":"arxiv","id":"2502.05368","version":2},"attestation_state":"computed","paper":{"title":"Otter: Generating Tests from Issues to Validate SWE Patches","license":"http://creativecommons.org/licenses/by/4.0/","headline":"","cross_cats":["cs.LG"],"primary_cat":"cs.SE","authors_text":"Avraham Shinnar, Jatin Ganhotra, Martin Hirzel, Rangeet Pan, Saurabh Sinha, Toufique Ahmed","submitted_at":"2025-02-07T22:41:31Z","abstract_excerpt":"While there has been plenty of work on generating tests from existing code, there has been limited work on generating tests from issues. A correct test must validate the code patch that resolves the issue. This paper focuses on the scenario where that code patch does not yet exist. Doing so supports two major use-cases. First, it supports TDD (test-driven development), the discipline of \"test first, write code later\" that has well-documented benefits for human software engineers. Second, it also validates SWE (software engineering) agents, which generate code patches for resolving issues. This"},"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":"2502.05368","kind":"arxiv","version":2},"metadata":{"license":"http://creativecommons.org/licenses/by/4.0/","primary_cat":"cs.SE","submitted_at":"2025-02-07T22:41:31Z","cross_cats_sorted":["cs.LG"],"title_canon_sha256":"9a903f45afeb0e15c0843c6de04392cb2b0aab550a7d6a9598b020a6ce6ce8a1","abstract_canon_sha256":"0f10f1b43f06feb7228f19752f930e38311e3b886c44188df130e2231e51ca98"},"schema_version":"1.0"},"receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T11:12:25.752376Z","signature_b64":"cf9HyZ129geGmAWMMExCwqXN4O0Rg63GWj6igc8DYQrFLm+PuFjG3DKKyeEmFUwiNROvrUcYQoI8gxvMC0qtCQ==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"b7cd67c7a440521caf1c400dc23382511f79cccaff437db8e06a8b623255c82d","last_reissued_at":"2026-07-05T11:12:25.751857Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T11:12:25.751857Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"graph_snapshot":{"paper":{"title":"Otter: Generating Tests from Issues to Validate SWE Patches","license":"http://creativecommons.org/licenses/by/4.0/","headline":"","cross_cats":["cs.LG"],"primary_cat":"cs.SE","authors_text":"Avraham Shinnar, Jatin Ganhotra, Martin Hirzel, Rangeet Pan, Saurabh Sinha, Toufique Ahmed","submitted_at":"2025-02-07T22:41:31Z","abstract_excerpt":"While there has been plenty of work on generating tests from existing code, there has been limited work on generating tests from issues. A correct test must validate the code patch that resolves the issue. This paper focuses on the scenario where that code patch does not yet exist. Doing so supports two major use-cases. First, it supports TDD (test-driven development), the discipline of \"test first, write code later\" that has well-documented benefits for human software engineers. Second, it also validates SWE (software engineering) agents, which generate code patches for resolving issues. This"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2502.05368","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/2502.05368/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":"2502.05368","created_at":"2026-07-05T11:12:25.751927+00:00"},{"alias_kind":"arxiv_version","alias_value":"2502.05368v2","created_at":"2026-07-05T11:12:25.751927+00:00"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2502.05368","created_at":"2026-07-05T11:12:25.751927+00:00"},{"alias_kind":"pith_short_12","alias_value":"W7GWPR5EIBJB","created_at":"2026-07-05T11:12:25.751927+00:00"},{"alias_kind":"pith_short_16","alias_value":"W7GWPR5EIBJBZLY4","created_at":"2026-07-05T11:12:25.751927+00:00"},{"alias_kind":"pith_short_8","alias_value":"W7GWPR5E","created_at":"2026-07-05T11:12:25.751927+00:00"}],"events":[],"event_summary":{},"paper_claims":[],"inbound_citations":{"count":2,"internal_anchor_count":0,"sample":[{"citing_arxiv_id":"2604.07624","citing_title":"Program Analysis Guided LLM Agent for Proof-of-Concept Generation","ref_index":2,"is_internal_anchor":false},{"citing_arxiv_id":"2604.04580","citing_title":"Beyond Fixed Tests: Repository-Level Issue Resolution as Coevolution of Code and Behavioral Constraints","ref_index":2,"is_internal_anchor":false}]},"formal_canon":{"evidence_count":0,"sample":[],"anchors":[]},"links":{"html":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE","json":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE.json","graph_json":"https://pith.science/api/pith-number/W7GWPR5EIBJBZLY4IAG4EM4CKE/graph.json","events_json":"https://pith.science/api/pith-number/W7GWPR5EIBJBZLY4IAG4EM4CKE/events.json","paper":"https://pith.science/paper/W7GWPR5E"},"agent_actions":{"view_html":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE","download_json":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE.json","view_paper":"https://pith.science/paper/W7GWPR5E","resolve_alias":"https://pith.science/api/pith-number/resolve?arxiv=2502.05368&json=true","fetch_graph":"https://pith.science/api/pith-number/W7GWPR5EIBJBZLY4IAG4EM4CKE/graph.json","fetch_events":"https://pith.science/api/pith-number/W7GWPR5EIBJBZLY4IAG4EM4CKE/events.json","actions":{"anchor_timestamp":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE/action/timestamp_anchor","attest_storage":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE/action/storage_attestation","attest_author":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE/action/author_attestation","sign_citation":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE/action/citation_signature","submit_replication":"https://pith.science/pith/W7GWPR5EIBJBZLY4IAG4EM4CKE/action/replication_record"}},"created_at":"2026-07-05T11:12:25.751927+00:00","updated_at":"2026-07-05T11:12:25.751927+00:00"}