{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/on-the-detection-of-reviewer-author-collusion","title":"On the Detection of Reviewer-Author Collusion Rings From Paper Bidding","arxiv_id":"2402.07860","date":"2024-02-12","proceeding":null,"authors":["Steven Jecmen","Nihar B. Shah","Fei Fang","Leman Akoglu"],"abstract":"A major threat to the peer-review systems of computer science conferences is the existence of \"collusion rings\" between reviewers. In such collusion rings, reviewers who have also submitted their own papers to the conference work together to manipulate the conference's paper assignment, with the aim of being assigned to review each other's papers. The most straightforward way that colluding reviewers can manipulate the paper assignment is by indicating their interest in each other's papers through strategic paper bidding. One potential approach to solve this important problem would be to detect the colluding reviewers from their manipulated bids, after which the conference can take appropriate action. While prior work has developed effective techniques to detect other kinds of fraud, no research has yet established that detecting collusion rings is even possible. In this work, we tackle the question of whether it is feasible to detect collusion rings from the paper bidding. To answer this question, we conduct empirical analysis of two realistic conference bidding datasets, including evaluations of existing algorithms for fraud detection in other applications. We find that collusion rings can achieve considerable success at manipulating the paper assignment while remaining hidden from detection: for example, in one dataset, undetected colluders are able to achieve assignment to up to 30% of the papers authored by other colluders. In addition, when 10 colluders bid on all of each other's papers, no detection algorithm outputs a group of reviewers with more than 31% overlap with the true colluders. These results suggest that collusion cannot be effectively detected from the bidding using popular existing tools, demonstrating the need to develop more complex detection algorithms as well as those that leverage additional metadata (e.g., reviewer-paper text-similarity scores).","url_abs":"https://arxiv.org/abs/2402.07860v2","url_pdf":"https://arxiv.org/pdf/2402.07860v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"on-the-detection-of-reviewer-author-collusion","repo_url":"https://github.com/sjecmen/peer-review-collusion-detection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"fraud-detection","task_name":"Fraud Detection"},{"task_slug":"text-similarity","task_name":"text similarity"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2402.07860","atlas_url":"https://app.syntology.ai/?focus=2402.07860","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.07860"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sjecmen/peer-review-collusion-detection","reach":{"status":"ok"}}],"summary":{"ran":10,"unverified":5},"by_repo_kind":{"official":{"samples":15,"ran":10,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":15,"samples":[{"code_sha256_prefix":"61c86d010e68d4eb","entry":"detectMultiple","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"fraudar/greedy.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/fraudar/greedy.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"61c86d010e68d4eb"}},{"code_sha256_prefix":"b8ac619e39d73071","entry":"edge_count","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"oqc.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/oqc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b8ac619e39d73071"}},{"code_sha256_prefix":"81e3499bf5106a29","entry":"generate_telltail_start_list","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"telltail.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/telltail.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"81e3499bf5106a29"}},{"code_sha256_prefix":"3071e8e5775a3146","entry":"get_local_search_init","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"detection_eval.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/detection_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3071e8e5775a3146"}},{"code_sha256_prefix":"f95b46d4177b658e","entry":"listToSparseMatrix","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"fraudar/greedy.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/fraudar/greedy.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f95b46d4177b658e"}},{"code_sha256_prefix":"8d3ca8bc4c0f461e","entry":"modularity_matrix","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"telltail.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/telltail.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8d3ca8bc4c0f461e"}},{"code_sha256_prefix":"dacf98f088dccc24","entry":"oqc_f","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"oqc.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/oqc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dacf98f088dccc24"}},{"code_sha256_prefix":"84f5e71a23236f82","entry":"oqc_fs","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"oqc.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/oqc.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"84f5e71a23236f82"}},{"code_sha256_prefix":"34277af2d50d15df","entry":"readData","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"fraudar/greedy.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/fraudar/greedy.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"34277af2d50d15df"}},{"code_sha256_prefix":"93aa33fa009bd9c3","entry":"run_telltail","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"telltail.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/telltail.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"93aa33fa009bd9c3"}},{"code_sha256_prefix":"55860e277320c396","entry":"count_cliques_c","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"clique_eval.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/clique_eval.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"55860e277320c396"}},{"code_sha256_prefix":"0f7906f932c70c5a","entry":"get_local_search_init_bipartite","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"detection_eval.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/detection_eval.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0f7906f932c70c5a"}},{"code_sha256_prefix":"76791a1bff907f38","entry":"load_data","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"utils.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"76791a1bff907f38"}},{"code_sha256_prefix":"9f1f5eb6c7b42fff","entry":"load_data_aamas_sub3","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"utils.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9f1f5eb6c7b42fff"}},{"code_sha256_prefix":"6ddd9ccf3ee53664","entry":"load_data_wu","repo":"sjecmen/peer-review-collusion-detection","repo_kind":"official","path":"utils.py","file_url":"https://github.com/sjecmen/peer-review-collusion-detection/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6ddd9ccf3ee53664"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}