File: $PLAGCHECK/AAREADME.txt Tool: Plagiarism Checker Version: 1.0.0 ------------------------------------------------------------------------------- Change Log: (20221226) initial version ------------------------------------------------------------------------------- This directory contains a tool that detects plagiarism in software. To learn more about the technology behind this, please go here: https://theory.stanford.edu/~aiken/moss/ This directory contains a script that makes it relatively easy to run the MOSS tool and interpret the output. A. WHAT'S NEW Version 1.0.0: + initial release B. INSTALLATION REQUIREMENTS Python code unfortunately often depends on a large number of add-ons, making it very challenging to port code into new environments. This tool has been tested extensively on ece-000 running Python v3.9.x. Additional Python tools required in addition to the base Python Anaconda install include: o bs4: https://www.crummy.com/software/BeautifulSoup/ o requests: https://requests.readthedocs.io/en/latest/ A requirements.txt file is included in the release that helps you automate the process of updating your environment. With pip, you can easily install all the necessary packages with this command: pip install -r /requirements.txt C. USER'S GUIDE The easiest way to learn how to use this tool is to execute the following commands on ece-000: cd /data/courses/ece_1111/TOOLS/plagcheck/v1.0.0 ./bin/plagcheck -l c -d example_cc ./bin/plagcheck -l python -d example_py The tool can be run from any directory as follows: /data/courses/ece_1111/TOOLS/plagcheck/v1.0.0/bin/plagcheck -l -d You can get a detailed help message by adding the "--help" option: /data/courses/ece_1111/TOOLS/plagcheck/v1.0.0/bin/plagcheck --help -l -d This message is attached at the bottom of this readme. The "-l" option specifies the language. The "-d" option specifies the directory tree to be searched. It is best to place all student work underneath a common directory: .../ece_1111/homework/hw_01/smith_jordan .../ece_1111/homework/hw_01/smoth_alex ... You would then specify ".../ece_1111/homework/hw_01" with the "-d" option. ----------------------------- If you have any additional comments or questions about the data, please direct them to help@nedcdata.org. Best regards, Joe Picone ==== ece-000_[1]: /data/courses/ece_1111/TOOLS/plagcheck/v1.0.0/bin/plagcheck -l c -d foo --help name: plagcheck synopsis: plagcheck [options] descr: uses Stanford's MOSS site to check for code plagiarism options: -h, --help: display this help message and exit -l, --language: the programming language [c] -t, --threshold: the minimum similarity threshold [75] -u, --usage: display a usage message examples: plagcheck -l c /home/user1/code /home/user2/code searches the specified directories for C code (ending in .c) and analyzes the files for similarities plagcheck -l python -t 80 /home/user1/code searches the specified directories for python code (ending in .py) and analyzes the files for similarities of 80% or higher notes: (1) The list of languages supported are: c: for C/C++ files that has the extensions [".c", ".cc", ".cpp"] matlab: for MATLAB files that has the extensions [".m", ".matlab"] python: for Python files that has the extensions [".py] The value shown is the value you should specify for "--language". (2) The threshold option allows you to specify the minimum threshold for similar files. A threshold of 50 would display all scores with a similarity score of 50% or higher. (3) This tool connects to the Stanford MOSS server: moss.standford.edu. If the server is down an error message will be displayed/. (4) To learn more about Standford's Measure of Similarity Software (MOSS), go here: https://theory.stanford.edu/~aiken/moss/