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.
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.
-
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.
-
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.
- Setup Scripts for making the MYSQL database
- Control Program
- Analysis of collected metrics
- Static Checker in Rust
- Integration with the backend system
- [-] Implementation using gdb
- Time taken to run the student code
- Grading with the TA script
- Integration with the backend system
- [-] Installing version control system
- [-] Recomiling the OS with custom code
- Integrating with SSH/VS code system
- Integrating with backend system
- [-] Integration with MOSS
Priyansh Singh, Jayant Mishra, Kshitij, Satyam Modi, Arka Mandal and Abhijith