Skip to content

MOSS Client for Programming Course of the Universidad Técnica Federico Santa María

License

Notifications You must be signed in to change notification settings

VadokDev/MOSS-UTFSM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 MOSS Client for the Programming Course of the UTFSM

MOSS-UTFSM is a tool that aims to support teachers and assistants of the Universidad Técnica Federico Santa María in the detection of plagiarism in homework, using Standford's MOSS System for Measure Of Software Similarity and the Amazon S3 Service for plagiarism reports storage.

🔎 Requirements

  • Python 3 or latest
  • MOSS User ID, you can get one here
  • Amazon S3 Bucket for plagiarism reports storage

💾 Installation

  1. Clone this repository and navigate into it

    git clone https://github.com/VadokDev/MOSS-UTFSM

    cd MOSS-UTFSM

  2. Rename the .env.example file to .env

  3. Configure environment variables in the .env file

    • MOSS_ID=
    • ENDPOINT_URL=
    • AWS_ACCESS_KEY_ID=
    • AWS_SECRET_ACCESS_KEY=
    • REGION_NAME=
  4. Install dependences from requirements.txt (it's recommended to use Virtual Environments)

    pip install -r requirements.txt

🐍 Usage

  1. Create a new Course folder inside data to store the students and homework files, for example, CSJ-INF131-2021-01

  2. Create a students folder inside the Course folder and put the SIGA exported students lists (.xls) in it, for example, data/CSJ-INF131-2021-01/students.

  3. Download from AULA the student howeworks zip file and extract it in a new folder with the homework's name inside the folder created in step 1, for example, data/CSJ-INF131-2021-01/T1.

  4. Run the program with

    python main.py [Language] [CourseFolder] [Homework] [SimilarityPercent]

    Where:

    • Language: the programming language used for plagiarism detection; see available list in MossService.py
    • CourseFolder: name of the folder created in data for store student and homework files
    • Homework: name of the homework folder in the CourseFolder
    • SimilarityPercent: % of similarity between two homework to classify them as plagiarism

    Example: python main.py python CSJ-INF131-2021-01 T1 60

  5. Copy the MOSS URL output; that URL stores the complete MOSS plagiarism report.

  6. Go to the results folder inside the Course folder and open the folder with the name of the homework used (for example. data/CSJ-INF131-2021-01/results/T1), here you'll find:

    • web/: folder with the entire MOSS report website
    • [section]/: folder with the high similarity homework of students in [section] (example: Section 201 students)
    • inter/: folder with the high similarity homework of students from different sections
    • not found/: folder with the high similarity homework of students that weren't found in the students .xls files
    • [homework] [timestamp].xls: excel report with the detail of high similarity homework and their students.

📝 To-Do List

  • Make the program easier to use
  • Improve the code (sorry, it's awful)
  • Add testing
  • Add a web interface
  • Group same students in just one row
  • Charts
  • Improve this README (any suggestion is welcome)
  • Improve my english (any suggestion is welcome x2)

⭐ Acknowledgments

🔓 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

MOSS Client for Programming Course of the Universidad Técnica Federico Santa María

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published