ap143 / AC-VMM

Anti-Cheating Implementation within a Virtualized Learning Environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Anti-Cheating Implementation within a Virtualized Learning Environment

This document highlights the Objectives and Key Results for the Anti-Cheating within a Virtualized Learning Environment. The module will focus on monitoring the student activity and analysis of the submission. The prior focuses on working with the hypervisor to log student logins and file activity. While the latter focuses mainly on submission comparison and run-time characteristics like cycles used and resources accessed. Based on the threshold set by the TA or instructor previously each submission is checked and tagged for deceptive activity.

Student Workflow

The student interacts with the platform using a Web API and SSH. The assignment is released and visible to the student on the Web GUI. The student can be in the following states:

  • Waiting for assignment to be released
  • Working on the assignment
  • Has submitted the assignment and is pending grading
  • Has received the grade for the assignment

The project implementation focuses on the second and third stages.

  1. When student is working on their assignment

    While the student is actively working on thier assignment, the system records the following tasks:

    • The VM monitoring system for the student directory, is saves the current contents at a fixed time interval.
    • Process monitoring system which intercepts and records student activity.
  2. When student has submitted their work for grading

    • The submit script installed within their root directory packs up the folder and logs to the evaluation system.
    • The evaluation system takes user code, grader script from the TA and database values to match and score results.
    • The evaluation system uses a static plagerism to check the distance between submission files.
    • Further, the system will be running a byte-code analysis to map out similarity in execution of the file.

Task Lists

General Scripts

  • Setup Scripts for making the MYSQL database
  • Control Program
  • Analysis of collected metrics

Plagerism Check

  • Static Checker in Rust
  • Integration with the backend system

Dynamic Check

  • [-] Implementation using gdb
  • Time taken to run the student code
  • Grading with the TA script
  • Integration with the backend system

Student Parameters

  • [-] Installing version control system
  • [-] Recomiling the OS with custom code
  • Integrating with SSH/VS code system
  • Integrating with backend system

Future Additions

  • [-] Integration with MOSS

Team Members

Priyansh Singh, Jayant Mishra, Kshitij, Satyam Modi, Arka Mandal and Abhijith

About

Anti-Cheating Implementation within a Virtualized Learning Environment


Languages

Language:Python 56.1%Language:Rust 41.1%Language:C++ 2.0%Language:Shell 0.9%