Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.
-
Upload
margaretmargaret-skinner -
Category
Documents
-
view
222 -
download
0
Transcript of Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.
![Page 1: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/1.jpg)
Central Online Grading SystemCOGS
Dec15-21
dec1521.sd.ece.iastate.edu
![Page 2: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/2.jpg)
Problem Statement
● Cpr E 185 has weekly programming practices● Blackboard is a frustrating interface
o Cannot display .c or .txt fileso Downloading, compiling, and running student code is
tedious
![Page 3: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/3.jpg)
Solution Overview
The goal of COGS: Streamline the grading process● Features
o Intuitive Assignment creationo Easy student submissiono Secure compilero Automatic testingo Cheating detectiono Streamlined gradingo Blackboard Integration
![Page 4: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/4.jpg)
Conceptual Sketch
![Page 5: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/5.jpg)
Resources and Risks
● Resources:o Virtual Machine Server
● Risks:o Securityo Hosting student datao Blackboard interfacing
![Page 6: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/6.jpg)
Project Divisions
● Web Teamo Zend Frameworko User Interfaceo Blackboard Interfacingo Database Communicationo Members
Forrest Scott Katie Widen Daniel McDonough
● Systems Teamo Gradero Authentication/Securityo Cheating Detectiono Members
Zachary Lones Daniel Riechers
![Page 7: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/7.jpg)
Detailed Design - Front End
● Zend Frameworko Open Sourceo Object Orientedo MVC structureo Modularo Secureo High Performance
![Page 8: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/8.jpg)
Detailed Design - Front End
Complex Diagram
Sim
plified
![Page 9: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/9.jpg)
Detailed Design - Front End
● Zend Autoloadero Resource Loadingo Object Buildingo Securityo Configurable Routes
![Page 10: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/10.jpg)
Detailed Design - Front End
● Zend Controllerso M-V-Co The “Brains” of the Front Endo Communicates with Back Endo Forms, Plugins, Modules
![Page 11: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/11.jpg)
Detailed Design - Front End
● Doctrine 2 Databaseo M-V-Co MySQLo Object Orientedo Lazy loadingo Custom Macroso Auto Hydration
![Page 12: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/12.jpg)
Detailed Design - Front End
● ZendFramework Viewso M-V-Co PHP + HTMLo Final Stage
![Page 13: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/13.jpg)
Detailed Design - Grading
Complex DiagramSimplified
![Page 14: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/14.jpg)
Detailed Design - Grading
● Student Submitso Custom execution inputso Back end runso Returns errors, outputso Last submission is used
![Page 15: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/15.jpg)
Detailed Design - Grading
● T.A. Gradingo Streamlined grading pageso Can create new executiono Alerts when cheating
detectedo Notes viewable by studentso Upload to Blackboard
via .csv file
![Page 16: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/16.jpg)
Detailed Design - Security
● Prevents stalled code using timers● All student code is run in a chrooted environment
o Minimal filesystem● The system uses a Mandatory Access Control policy
o Transparent to administrators
![Page 17: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/17.jpg)
Detailed Design - Chroot Filesystem
● Adds level of system protection● Prevents student software from
interacting with the filesystem.o Changing system
configurationo Installing Malwareo Gathering system
information
![Page 18: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/18.jpg)
Mandatory Access Control (MAC)
● Forces permissionso Permissions limit user access to
Files System Calls
● Devices● Shared Resources● Network
● We used SELinux for MACo SELinux is an implementation of MAC by NSA
![Page 19: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/19.jpg)
Detailed Design - SELinux
● Policy is transparent to administrators.o Policy should not limit
administrationo Policy should not need
modification● Policy is extra strict on student code
executions.o System calls are whitelisted
● SELinux Aware Firewallo Further limits network traffic
![Page 20: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/20.jpg)
Front End Requirements
● Administration (Add/Remove/Edit) o Classeso Instructors
● Instructors (Add/Remove/Edit)o Assignmentso Studentso Submission Scores
● Students o Upload Assignmentso Check Results
![Page 21: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/21.jpg)
Back End: Grader Requirements
● Preliminary Reporto Shows compiler errors and warningso Includes students custom inputs and resulting outputso Shows results of unit tests
● Final Report o Everything in Preliminary Report of final submissiono Include additional tests and static analysiso Returned to student after Instructor has written grades
and comments
![Page 22: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/22.jpg)
Back End: Cheating Detector Requirements
● Cheating Report○ Displays code similarities across submissions○ Generates a cheating confidence score
● Run cheating detection algorithm on students’ final submissions
● Report is viewable by Instructors if cheating is detected.
![Page 23: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/23.jpg)
Security Requirements
● Use Mandatory Access Control to encapsulate student code.● Use a chroot environment to encapsulate student code.● Use a firewall that restricts unauthorized network
communication● The student code will be allowed to execute the following
system calls:○ read ○ close○ write ○ open○ create
![Page 24: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/24.jpg)
Integration Requirements
● Web server executes the grader● Grader returns its output to the web server via stdout● Web server stores grader results in database● Blackboard integration is handled manually via .csv
![Page 25: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/25.jpg)
Non-functional Requirements
● Streamline the process: make grading as intuitive as possible
● Mandatory Access Control will be transparent to system administrators
● All external dependencies will be verified to be secure and reliable
o Shibboleth
o Zend plugins
o Runtime libraries
● Maintainable
● Extreme care taken when handling student information
![Page 26: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/26.jpg)
Test Plan - Front End
● Manual testing for individual components● Alpha testing using a small group of students and single
instructor● Beta testing using a larger volume of students and
multiple instructors
![Page 27: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/27.jpg)
Test Plan - Backend
● All backend modules (Grader, Cheating detection) are unit tested with Google Tests.
● The SELinux Policy and security encapsulation are tested manually.
![Page 28: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/28.jpg)
Current status and Future Plans
Current Status
![Page 29: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu.](https://reader036.fdocuments.net/reader036/viewer/2022062421/56649e225503460f94b0f3b7/html5/thumbnails/29.jpg)
Questions?