five

Supplementary Material for "Same Same But Different: Preventing Refactoring Attacks on Software Plagiarism Detection"

收藏
Zenodo2025-12-23 更新2026-05-26 收录
下载链接:
https://zenodo.org/doi/10.5281/zenodo.17424418
下载链接
链接失效反馈
官方服务:
资源简介:
This repository contains additional material for the paper "Same Same But Different: Preventing Refactoring Attacks on Software Plagiarism Detection" (Link), presented at ICSE 2026 (Research Track).   The paper presents a defense mechanism against automated plagiarism generators that leverages Code Property Graphs and demonstrates its effectiveness against insertion-based and refactoring-based obfuscation attacks. The defense mechanism was also integrated into the software plagiarism detection system JPlag, thereby making it widely accessible.   We provide the following artifacts:   code: Contains the implementation of our approach based on JPlag as an executable JAR file and as a Maven project with build instructions. The contributions are located at JPlag/languages/java-cpg. transformation/TransformationRepository.java contains the implementation of the selected transformations. datasets: Contains the programs used in the evaluation. We removed pre-existing plagiarized programs and non-compilable solutions. The original programs from the PROGpedia dataset, PROGpedia19 and PROGpedia56, are available at Zenodo (Link). They are located in the human subdirectory of the respective task. The original programs for the TicTacToe and BoardGame tasks originate from the introductory programming course at our institution. To comply with privacy and data protection regulations, the originals and all derived, plagiarized versions were omitted from this repository. The remaining subdirectories contain the programs organized by the type of obfuscation attack that was used to create them: gpt: Programs created by GPT-4 from the original task descriptions. gptObf: Programs derived from the original student solutions by GPT-4 according to specific prompts. insert: Programs generated by iteratively inserting dead statements at random locations in the input programs. refactor: Programs produced by an automatic refactoring engine that randomly alters input programs. The datasets gpt (Link), gptObf(Link), and insert (Link) were created for our earlier work and adapted for this publication. gpt: Prompts and scripts used for the LLM-based obfuscation and generation. results: Results of our evaluation as raw data.
提供机构:
Zenodo
创建时间:
2025-10-29
二维码
社区交流群
二维码
科研交流群
商业服务