Skip to content

abiel-source/Plagiarism-Detection-Using-Language-Recognition-Tools

 
 

Repository files navigation

Click here to view the Full Project Report (PDF)

BRIEF OVERVIEW

Algorithm

image

System Architecture

image image image

Numerical Results

image image image image

PlagiarismTool for Java files

To run this project, ensure Java Development Kit (JDK) or OpenJDK is installed

To Run Using CMD Line

Standard Winnowing

To run, execute the following commands in the root folder (PlagiarismTool/):

  1. Compile Java source files:
javac src/PlagiarismTool.java 
  1. Run application:
java -cp . src.PlagiarismTool test

ANTLR

To run, execute the following commands in the root folder (PlagiarismTool/):

  1. Compile grammar file using:
java -jar lib/antlr-4.13.2-complete.jar srcANTLR/PlagiarismTool.g4
  1. Compile Java source files generated by ANTLR:
javac -cp "lib/antlr-4.13.2-complete.jar" -d bin srcANTLR/PlagiarismToolBaseListener.java srcANTLR/PlagiarismToolLexer.java srcANTLR/PlagiarismToolListener.java srcANTLR/PlagiarismToolParser.java srcANTLR/PlagiarismToolANTLR.java
  1. Run Application:

Windows:

for processing 2 particular files in the test folder:

java -cp "bin;lib/antlr-4.13.2-complete.jar" PlagiarismToolANTLR test

for processing all files in the data folder:

java -cp "bin;lib/antlr-4.13.2-complete.jar" PlagiarismToolANTLR data

Linux:

for processing 2 particular files in the test folder:

java -cp "bin:lib/antlr-4.13.2-complete.jar" PlagiarismToolANTLR test

for processing all files in the data folder:

java -cp "bin:lib/antlr-4.13.2-complete.jar" PlagiarismToolANTLR data

TREE-SITTER

for processing 2 particular files in the test folder:

node srcTreesitter/tree-sitter.js test

for processing all files in the data folder:

node srcTreesitter/tree-sitter.js data

To Run Web Application (Windows)

  1. Clone repo
git clone https://github.com/SFU-CMPT-473-2024-FALL/PlagiarismTool.git
  1. Navigate to Application
cd PlagiarismTool
  1. Install Dependencies
npm install --force
  1. Run server.js
node server.js
  1. Navigate to localhost:3000

Output:

ANTLR Output

ANTLR

Base Output

Base

Tree Sitter Output

Tree Sitter

Debug:

Note: If graph fails to load, try testing two files at a time.

Click here to view the Full Project Report (PDF)

About

We built an original plagiarism detection algorithm, system, and application from and for Java.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.2%
  • JavaScript 2.3%
  • Other 0.5%