Secure Grading Containers for Programming Assignments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
On-demand online courses face challenges in real-time grading of programming assignments due to the need for continuous availability and security, especially when students submit code that may violate security criteria or access sensitive resources.
Innovation Solution
A computer-implemented method and system that creates a custom grader container, evaluates the grader application within a secure environment, modifies it to prevent violations of predetermined criteria, and uses it for grading programming assignments, ensuring real-time feedback and security by isolating each student's submission and limiting resource access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If custom grader applications are allowed to execute student submissions with full access to system resources, then grading functionality and flexibility are improved, but security risks increase as malicious code may access sensitive resources or affect other students' submissions
Solution Approach 1:
The system segments the execution environment by creating isolated containers for each student submission. Each container has its own filesystem, process space, and resource allocations, preventing malicious code from affecting other submissions or the host system while maintaining full grading functionality within each isolated environment
Solution Approach 2:
The patent introduces a container runtime and management system as an intermediary between the grader application and student submissions. This intermediary layer enforces security policies, manages resource allocations, and mediates all access requests, allowing flexible grading while maintaining security boundaries
2Reliability
If the system evaluates and modifies custom grader containers to prevent security violations, then security is improved, but the complexity of the grading system increases due to additional evaluation and modification steps
Solution Approach 1:
The system performs preliminary evaluation of custom grader containers before they are deployed for actual grading. Security policies, resource limits, and filesystem configurations are predetermined and applied in advance, allowing the system to ensure security without adding complexity during the actual grading process
Solution Approach 2:
The patent creates disposable container images that can be rapidly instantiated and destroyed. These temporary containers are used for evaluation and grading, then discarded afterward. This approach reduces security complexity by ensuring each grading operation starts with a clean, known-good state without carrying over potential security issues
3Loss of time
If real-time grading is implemented for on-demand courses, then student feedback speed is improved, but the system requires continuous availability which increases operational complexity and resource requirements
Solution Approach 1:
The container-based grader system is designed to be universal and stateless, allowing the same infrastructure to handle multiple grading operations simultaneously across different courses and students. This multi-functionality enables real-time feedback without requiring separate dedicated systems for each grading task, reducing operational complexity
Data Source
AI summary
A computer system includes a course repository and a server. The course repository includes a video of an online course, an instructor provided output for a programming assignment associated with the online course, and a submission script for generating student provided output for the programming assignment. The server includes a submission module that receives and verifies the student provided output for the programming assignment. The server further includes one or more built-in grader applications that compare the student provided output with the instructor provided output to determine a grade for the programming assignment.


