{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2017:OOYEDGLFMOZ7Y2N5AKK6NUNDWV","short_pith_number":"pith:OOYEDGLF","canonical_record":{"source":{"id":"1710.00163","kind":"arxiv","version":1},"metadata":{"license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2017-09-30T08:26:59Z","cross_cats_sorted":[],"title_canon_sha256":"846be603adf0b775c5b3647bd0ea65fb8649fbc653b91e91f562a7c9225a2955","abstract_canon_sha256":"4f29d527467f0159b45ca03821e14132bd452bfce3a1000c460f5f38b24e3dfc"},"schema_version":"1.0"},"canonical_sha256":"73b041996563b3fc69bd0295e6d1a3b5793ccee914f2146d3ba890d0132bee87","source":{"kind":"arxiv","id":"1710.00163","version":1},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1710.00163","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"arxiv_version","alias_value":"1710.00163v1","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1710.00163","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"pith_short_12","alias_value":"OOYEDGLFMOZ7","created_at":"2026-05-18T12:31:34Z"},{"alias_kind":"pith_short_16","alias_value":"OOYEDGLFMOZ7Y2N5","created_at":"2026-05-18T12:31:34Z"},{"alias_kind":"pith_short_8","alias_value":"OOYEDGLF","created_at":"2026-05-18T12:31:34Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2017:OOYEDGLFMOZ7Y2N5AKK6NUNDWV","target":"record","payload":{"canonical_record":{"source":{"id":"1710.00163","kind":"arxiv","version":1},"metadata":{"license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2017-09-30T08:26:59Z","cross_cats_sorted":[],"title_canon_sha256":"846be603adf0b775c5b3647bd0ea65fb8649fbc653b91e91f562a7c9225a2955","abstract_canon_sha256":"4f29d527467f0159b45ca03821e14132bd452bfce3a1000c460f5f38b24e3dfc"},"schema_version":"1.0"},"canonical_sha256":"73b041996563b3fc69bd0295e6d1a3b5793ccee914f2146d3ba890d0132bee87","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-05-18T00:33:57.674132Z","signature_b64":"t8+gWPgjj6onExJeoAmLub55596WYOGj7DdXvgeNXp6fG2x8fTfhUYwdR5OsSMNhstH7GMIUBHTxMdQCGyJaAg==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"73b041996563b3fc69bd0295e6d1a3b5793ccee914f2146d3ba890d0132bee87","last_reissued_at":"2026-05-18T00:33:57.673433Z","signature_status":"signed_v1","first_computed_at":"2026-05-18T00:33:57.673433Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"1710.00163","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:33:57Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"/0bZnGNf3Y7XjKpZM6UDKXR2MuXibWbaEaOqGEIYP1LsQht2+4jX5rSPs4F2OEYAF+lW9AOrE4gkKmh5y8d4CA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-27T15:32:57.990407Z"},"content_sha256":"a571870d5efea7e1c08e4e71c468747ead6f5eb91a3911e1a9a74a46b058c72e","schema_version":"1.0","event_id":"sha256:a571870d5efea7e1c08e4e71c468747ead6f5eb91a3911e1a9a74a46b058c72e"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2017:OOYEDGLFMOZ7Y2N5AKK6NUNDWV","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"Automated Program Analysis for Novice Programmers","license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Ansgar Fehnker, Tim Blok","submitted_at":"2017-09-30T08:26:59Z","abstract_excerpt":"This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of analysis of these tools focusses on mistakes that are relevant within that context, and help with debugging the system. When teaching novice programmers this type of advice is often not particularly useful. It would be instead more useful to use these techniques to find problem in the understanding of students of important programming concepts. This paper fir"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1710.00163","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:33:57Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"/CQHpLXE/nYkvVTakhCMB04XMVglEcAjWPsbeFPwbzIZpzqxgcPM5OreLZ5DYUuh/uk+DMAt0iXahRBsTu8yCg==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-06-27T15:32:57.990744Z"},"content_sha256":"c12d2c4b819e58dc8a2dfe14d036c3b5afd5535cd4d56de90dbc9d2f343d541f","schema_version":"1.0","event_id":"sha256:c12d2c4b819e58dc8a2dfe14d036c3b5afd5535cd4d56de90dbc9d2f343d541f"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/bundle.json","state_url":"https://pith.science/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/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-27T15:32:57Z","links":{"resolver":"https://pith.science/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV","bundle":"https://pith.science/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/bundle.json","state":"https://pith.science/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/state.json","well_known_bundle":"https://pith.science/.well-known/pith/OOYEDGLFMOZ7Y2N5AKK6NUNDWV/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2017:OOYEDGLFMOZ7Y2N5AKK6NUNDWV","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":"4f29d527467f0159b45ca03821e14132bd452bfce3a1000c460f5f38b24e3dfc","cross_cats_sorted":[],"license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2017-09-30T08:26:59Z","title_canon_sha256":"846be603adf0b775c5b3647bd0ea65fb8649fbc653b91e91f562a7c9225a2955"},"schema_version":"1.0","source":{"id":"1710.00163","kind":"arxiv","version":1}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"1710.00163","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"arxiv_version","alias_value":"1710.00163v1","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.1710.00163","created_at":"2026-05-18T00:33:57Z"},{"alias_kind":"pith_short_12","alias_value":"OOYEDGLFMOZ7","created_at":"2026-05-18T12:31:34Z"},{"alias_kind":"pith_short_16","alias_value":"OOYEDGLFMOZ7Y2N5","created_at":"2026-05-18T12:31:34Z"},{"alias_kind":"pith_short_8","alias_value":"OOYEDGLF","created_at":"2026-05-18T12:31:34Z"}],"graph_snapshots":[{"event_id":"sha256:c12d2c4b819e58dc8a2dfe14d036c3b5afd5535cd4d56de90dbc9d2f343d541f","target":"graph","created_at":"2026-05-18T00:33:57Z","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":"This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of analysis of these tools focusses on mistakes that are relevant within that context, and help with debugging the system. When teaching novice programmers this type of advice is often not particularly useful. It would be instead more useful to use these techniques to find problem in the understanding of students of important programming concepts. This paper fir","authors_text":"Ansgar Fehnker, Tim Blok","cross_cats":[],"headline":"","license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2017-09-30T08:26:59Z","title":"Automated Program Analysis for Novice Programmers"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"1710.00163","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:a571870d5efea7e1c08e4e71c468747ead6f5eb91a3911e1a9a74a46b058c72e","target":"record","created_at":"2026-05-18T00:33:57Z","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":"4f29d527467f0159b45ca03821e14132bd452bfce3a1000c460f5f38b24e3dfc","cross_cats_sorted":[],"license":"http://creativecommons.org/licenses/by-nc-sa/4.0/","primary_cat":"cs.SE","submitted_at":"2017-09-30T08:26:59Z","title_canon_sha256":"846be603adf0b775c5b3647bd0ea65fb8649fbc653b91e91f562a7c9225a2955"},"schema_version":"1.0","source":{"id":"1710.00163","kind":"arxiv","version":1}},"canonical_sha256":"73b041996563b3fc69bd0295e6d1a3b5793ccee914f2146d3ba890d0132bee87","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"73b041996563b3fc69bd0295e6d1a3b5793ccee914f2146d3ba890d0132bee87","first_computed_at":"2026-05-18T00:33:57.673433Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-05-18T00:33:57.673433Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"t8+gWPgjj6onExJeoAmLub55596WYOGj7DdXvgeNXp6fG2x8fTfhUYwdR5OsSMNhstH7GMIUBHTxMdQCGyJaAg==","signature_status":"signed_v1","signed_at":"2026-05-18T00:33:57.674132Z","signed_message":"canonical_sha256_bytes"},"source_id":"1710.00163","source_kind":"arxiv","source_version":1}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:a571870d5efea7e1c08e4e71c468747ead6f5eb91a3911e1a9a74a46b058c72e","sha256:c12d2c4b819e58dc8a2dfe14d036c3b5afd5535cd4d56de90dbc9d2f343d541f"],"state_sha256":"dc209fa913116faf084c752a6a616b527cfeb7a8c04cc47c554d7ef7c903f17c"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"vyL6OE9WHDZTDeKK8CEPefSXgBG0rmwI9nL+Fl6cvFyEl30HreejtNz//ZZq10Bxs7MA4zptJuY+2ZkaI2uVCg==","signed_message":"bundle_sha256_bytes","signed_at":"2026-06-27T15:32:57.992578Z","bundle_sha256":"dadb41449bf0408ab64f5a9486772d56d6bb53f36e630c1d5c062bdb42356081"}}