{"bundle_type":"pith_open_graph_bundle","bundle_version":"1.0","pith_number":"pith:2021:OTZ7VL4I3FCFXSVJJQ4ZAJTWIL","short_pith_number":"pith:OTZ7VL4I","canonical_record":{"source":{"id":"2112.15230","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2021-12-30T22:51:04Z","cross_cats_sorted":[],"title_canon_sha256":"e59f0e8965a4bf0a8435ec84dbdffcec33dcd22791d9c7ca1716dfbc7651e171","abstract_canon_sha256":"ef1259b6adce91903d986e07b838be5d443f582c98301f2a3917df72d484a0ac"},"schema_version":"1.0"},"canonical_sha256":"74f3faaf88d9445bcaa94c3990267642f94ec0ddcc5e61f366a14ba923038f8e","source":{"kind":"arxiv","id":"2112.15230","version":2},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2112.15230","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"arxiv_version","alias_value":"2112.15230v2","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2112.15230","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_12","alias_value":"OTZ7VL4I3FCF","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_16","alias_value":"OTZ7VL4I3FCFXSVJ","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_8","alias_value":"OTZ7VL4I","created_at":"2026-07-05T04:54:01Z"}],"events":[{"event_type":"record_created","subject_pith_number":"pith:2021:OTZ7VL4I3FCFXSVJJQ4ZAJTWIL","target":"record","payload":{"canonical_record":{"source":{"id":"2112.15230","kind":"arxiv","version":2},"metadata":{"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2021-12-30T22:51:04Z","cross_cats_sorted":[],"title_canon_sha256":"e59f0e8965a4bf0a8435ec84dbdffcec33dcd22791d9c7ca1716dfbc7651e171","abstract_canon_sha256":"ef1259b6adce91903d986e07b838be5d443f582c98301f2a3917df72d484a0ac"},"schema_version":"1.0"},"canonical_sha256":"74f3faaf88d9445bcaa94c3990267642f94ec0ddcc5e61f366a14ba923038f8e","receipt":{"kind":"pith_receipt","key_id":"pith-v1-2026-05","algorithm":"ed25519","signed_at":"2026-07-05T04:54:01.700177Z","signature_b64":"mktabYPIATPiEGnpnBQiETPQNHtb52cKXrjagGm6AT7G9wT4o7wbHZykrJQN9hhbcfz9IXMpr2NK6D59+J+RDw==","signed_message":"canonical_sha256_bytes","builder_version":"pith-number-builder-2026-05-17-v1","receipt_version":"0.3","canonical_sha256":"74f3faaf88d9445bcaa94c3990267642f94ec0ddcc5e61f366a14ba923038f8e","last_reissued_at":"2026-07-05T04:54:01.699767Z","signature_status":"signed_v1","first_computed_at":"2026-07-05T04:54:01.699767Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54"},"source_kind":"arxiv","source_id":"2112.15230","source_version":2,"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-07-05T04:54:01Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"+tmf6zYK7ErCaPsthdRf6AwnE/04eK/etb0YcZGpoZ+jUnSfTxHBjTXj0bGwvqe326faeI+Lv55YqVPf+RfODQ==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-23T16:22:14.136227Z"},"content_sha256":"8eeaabfefe746e9f445cc379aff89e9346e777cf4e4ef11627e5a396f2daaafd","schema_version":"1.0","event_id":"sha256:8eeaabfefe746e9f445cc379aff89e9346e777cf4e4ef11627e5a396f2daaafd"},{"event_type":"graph_snapshot","subject_pith_number":"pith:2021:OTZ7VL4I3FCFXSVJJQ4ZAJTWIL","target":"graph","payload":{"graph_snapshot":{"paper":{"title":"AntiCopyPaster: Extracting Code Duplicates As Soon As They Are Introduced in the IDE","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","headline":"","cross_cats":[],"primary_cat":"cs.SE","authors_text":"Aditya Thakur, Ali Ouni, Amit Kini, Anton Ivanov, Eman Abdullah AlOmar, Le Nguyen, Mohamed Wiem Mkaouer, Timofey Bryksin, Yaroslav Golubev, Zarina Kurbatova","submitted_at":"2021-12-30T22:51:04Z","abstract_excerpt":"We developed a plugin for IntelliJ IDEA called AntiCopyPaster, which tracks the pasting of code fragments inside the IDE and suggests the appropriate Extract Method refactoring to combat the propagation of duplicates. Unlike the existing approaches, our tool is integrated with the developer's workflow, and pro-actively recommends refactorings. Since not all code fragments need to be extracted, we develop a classification model to make this decision. When a developer copies and pastes a code fragment, the plugin searches for duplicates in the currently opened file, waits for a short period of t"},"claims":{"count":0,"items":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2112.15230","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/2112.15230/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"},"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-07-05T04:54:01Z","supersedes":[],"prev_event":null,"signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"bTRW769iSN9oMs+l5kyBWdx8RGb+clhywSVekaQW0f5sO33F47RoBGmIyZ+OX1PJSp+jItZxLNcxum4nysJXDA==","signed_message":"open_graph_event_sha256_bytes","signed_at":"2026-08-23T16:22:14.136722Z"},"content_sha256":"3b17a15db472776a2c1f88e75481ba327cd19c8ade85b9d2f96433a8fee7fdd9","schema_version":"1.0","event_id":"sha256:3b17a15db472776a2c1f88e75481ba327cd19c8ade85b9d2f96433a8fee7fdd9"}],"timestamp_proofs":[],"mirror_hints":[{"mirror_type":"https","name":"Pith Resolver","base_url":"https://pith.science","bundle_url":"https://pith.science/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/bundle.json","state_url":"https://pith.science/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/state.json","well_known_bundle_url":"https://pith.science/.well-known/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/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-08-23T16:22:14Z","links":{"resolver":"https://pith.science/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL","bundle":"https://pith.science/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/bundle.json","state":"https://pith.science/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/state.json","well_known_bundle":"https://pith.science/.well-known/pith/OTZ7VL4I3FCFXSVJJQ4ZAJTWIL/bundle.json"},"state":{"state_type":"pith_open_graph_state","state_version":"1.0","pith_number":"pith:2021:OTZ7VL4I3FCFXSVJJQ4ZAJTWIL","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":"ef1259b6adce91903d986e07b838be5d443f582c98301f2a3917df72d484a0ac","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2021-12-30T22:51:04Z","title_canon_sha256":"e59f0e8965a4bf0a8435ec84dbdffcec33dcd22791d9c7ca1716dfbc7651e171"},"schema_version":"1.0","source":{"id":"2112.15230","kind":"arxiv","version":2}},"source_aliases":[{"alias_kind":"arxiv","alias_value":"2112.15230","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"arxiv_version","alias_value":"2112.15230v2","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"doi","alias_value":"10.48550/arxiv.2112.15230","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_12","alias_value":"OTZ7VL4I3FCF","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_16","alias_value":"OTZ7VL4I3FCFXSVJ","created_at":"2026-07-05T04:54:01Z"},{"alias_kind":"pith_short_8","alias_value":"OTZ7VL4I","created_at":"2026-07-05T04:54:01Z"}],"graph_snapshots":[{"event_id":"sha256:3b17a15db472776a2c1f88e75481ba327cd19c8ade85b9d2f96433a8fee7fdd9","target":"graph","created_at":"2026-07-05T04:54:01Z","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"},"integrity":{"available":true,"clean":true,"detectors_run":[],"endpoint":"/pith/2112.15230/integrity.json","findings":[],"snapshot_sha256":"c28c3603d3b5d939e8dc4c7e95fa8dfce3d595e45f758748cecf8e644a296938","summary":{"advisory":0,"by_detector":{},"critical":0,"informational":0}},"paper":{"abstract_excerpt":"We developed a plugin for IntelliJ IDEA called AntiCopyPaster, which tracks the pasting of code fragments inside the IDE and suggests the appropriate Extract Method refactoring to combat the propagation of duplicates. Unlike the existing approaches, our tool is integrated with the developer's workflow, and pro-actively recommends refactorings. Since not all code fragments need to be extracted, we develop a classification model to make this decision. When a developer copies and pastes a code fragment, the plugin searches for duplicates in the currently opened file, waits for a short period of t","authors_text":"Aditya Thakur, Ali Ouni, Amit Kini, Anton Ivanov, Eman Abdullah AlOmar, Le Nguyen, Mohamed Wiem Mkaouer, Timofey Bryksin, Yaroslav Golubev, Zarina Kurbatova","cross_cats":[],"headline":"","license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2021-12-30T22:51:04Z","title":"AntiCopyPaster: Extracting Code Duplicates As Soon As They Are Introduced in the IDE"},"references":{"count":0,"internal_anchors":0,"resolved_work":0,"sample":[],"snapshot_sha256":"258153158e38e3291e3d48162225fcdb2d5a3ed65a07baac614ab91432fd4f57"},"source":{"id":"2112.15230","kind":"arxiv","version":2},"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:8eeaabfefe746e9f445cc379aff89e9346e777cf4e4ef11627e5a396f2daaafd","target":"record","created_at":"2026-07-05T04:54:01Z","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":"ef1259b6adce91903d986e07b838be5d443f582c98301f2a3917df72d484a0ac","cross_cats_sorted":[],"license":"http://arxiv.org/licenses/nonexclusive-distrib/1.0/","primary_cat":"cs.SE","submitted_at":"2021-12-30T22:51:04Z","title_canon_sha256":"e59f0e8965a4bf0a8435ec84dbdffcec33dcd22791d9c7ca1716dfbc7651e171"},"schema_version":"1.0","source":{"id":"2112.15230","kind":"arxiv","version":2}},"canonical_sha256":"74f3faaf88d9445bcaa94c3990267642f94ec0ddcc5e61f366a14ba923038f8e","receipt":{"algorithm":"ed25519","builder_version":"pith-number-builder-2026-05-17-v1","canonical_sha256":"74f3faaf88d9445bcaa94c3990267642f94ec0ddcc5e61f366a14ba923038f8e","first_computed_at":"2026-07-05T04:54:01.699767Z","key_id":"pith-v1-2026-05","kind":"pith_receipt","last_reissued_at":"2026-07-05T04:54:01.699767Z","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","receipt_version":"0.3","signature_b64":"mktabYPIATPiEGnpnBQiETPQNHtb52cKXrjagGm6AT7G9wT4o7wbHZykrJQN9hhbcfz9IXMpr2NK6D59+J+RDw==","signature_status":"signed_v1","signed_at":"2026-07-05T04:54:01.700177Z","signed_message":"canonical_sha256_bytes"},"source_id":"2112.15230","source_kind":"arxiv","source_version":2}}},"equivocations":[],"invalid_events":[],"applied_event_ids":["sha256:8eeaabfefe746e9f445cc379aff89e9346e777cf4e4ef11627e5a396f2daaafd","sha256:3b17a15db472776a2c1f88e75481ba327cd19c8ade85b9d2f96433a8fee7fdd9"],"state_sha256":"50cb3f87ed42a5f3ec1c7248d021ec1f8edac2a55ed71bc378cbdfaec36fe4a5"},"bundle_signature":{"signature_status":"signed_v1","algorithm":"ed25519","key_id":"pith-v1-2026-05","public_key_fingerprint":"8d4b5ee74e4693bcd1df2446408b0d54","signature_b64":"Uuh4KzE6KCbHPXnUEvTbanBOGMNtIo54F2tS1fNFtE2BjmICtoba4DOsB100N7XJnYOSKJ4DaRLHJ/mKANc4Aw==","signed_message":"bundle_sha256_bytes","signed_at":"2026-08-23T16:22:14.140682Z","bundle_sha256":"0eed2ff06dd04b4c4c7c83b0b5b2ca808b85e9bd81a4818df3eacb28ca6bf48e"}}