LCS-based-code-plagiarism-detector
Introduction
This Longest Common Subsequence based detector tries to detect plagiarism in short programs like programming assignments. It considers similarity for both LLVM basic blocks and code execution paths. Check report here
Build
mkdir build && cd build
cmake -DLLVM_DIR=<path/to/llvm> ..
make
Running
Running the detector with instruction histogram based method:
./bin/ppa-detector --instruction-histogram <plaintiff>.bc <suspicious>.bc
Running the detector with sampling based dynamic analysis method:
./bin/ppa-detector --sebb <plaintiff>.bc <suspicious>.bc </path/to/input/folder> --relocation-model=pic