central online grading system cogs dec15-21 dec1521.sd.ece.iastate.edu

29
Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

Upload: margaretmargaret-skinner

Post on 26-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

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

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

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

Conceptual Sketch

Page 5: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

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

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

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

Detailed Design - Front End

Complex Diagram

Sim

plified

Page 9: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

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

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

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

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

Detailed Design - Grading

Complex DiagramSimplified

Page 14: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Current status and Future Plans

Current Status

Page 29: Central Online Grading System COGS Dec15-21 dec1521.sd.ece.iastate.edu

Questions?