OCaMoss User's Guide
Plagiarism detection software, inspired by MOSS and implemented in OCaml. Runs using a command-line interface.
This is NOT an OCaml client for MOSS, this is a completely separate program. For more details about the system or how MOSS works in general, read the PDF report in this repository or this blog post I wrote.
Note: this was originally written as the final project for a course - it has since been updated by me, so some aspects of the PDF report may not be accurate. In particular, the latest version of OCaMOSS no longer uses a 2-3 tree.
<hr>- To build -
make - To build & run the REPL -
make run - To build & run unit tests -
make test
Required Dependencies:
- Yojson
- ANSITerminal
- OUnit (for unit tests)
Commands:
(note - commands are case-sensitive)
run [threshold]- runs OCaMoss on the working directory. The threshold argument gives the program the percentage of the file to match with another for it to be flagged as plagiarised, and must be at least 0.4 and at most 1dir- lists the working directory and the files that it containssetdir [dir]- sets the relative directory to look for files and resets any resultsresults- lists the file names for which there are resultsresults [filename]- lists the detailed results of overlap for that file (Make sure to include the extension of the file)resultpairs-- lists all the pairs of files for which there are positive resultscompare [fileA] [fileB]- prints out specific overlaps of fileA and fileB (Make sure to include the extension of the files)quit- exits the REPLhelp- display the available commands