Print Email Facebook Twitter Native WebLab Title Native WebLab: Safe Execution of Native Code in WebLab Author Crielaard, Bram (TU Delft Electrical Engineering, Mathematics and Computer Science) Bruin, Chiel (TU Delft Electrical Engineering, Mathematics and Computer Science) Aerts, Taico (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Groenewegen, Danny (mentor) Visser, Eelco (graduation committee) Visser, Otto (graduation committee) Degree granting institution Delft University of Technology Date 2017-07-04 Abstract WebLab is a system where students can write and test code using an online interface. Course coordinators can create assignments and exams, where they can define automated tests to verify that the student code meets requirements. As WebLab only offered support for programming languages which run on the Java Virtual Machine, it was limited to a specific set of languages. In this project, we have designed a system which enables WebLab to support arbitrary languages, while still being able to guarantee scalability, security and reliability. To limit the scope of this project, the focus was laid on the programming language Python. The designed system uses Docker containers to execute arbitrary code in a safe and isolated way. A test fuzzing system with tamper detection is used to achieve reliable test results. The system is flexible as support for new programming languages can be added with relatively little effort. This report describes the design of the system, the research that was done and the process used. The report concludes with recommendations for future work on this project. Subject WebLabDockersafe executionpython To reference this document use: http://resolver.tudelft.nl/uuid:f45d3e78-95a6-4c8b-9ca4-723680513f59 Part of collection Student theses Document type bachelor thesis Rights © 2017 Bram Crielaard, Chiel Bruin, Taico Aerts Files PDF Native_Weblab_Safe_Execut ... _Aerts.pdf 2.12 MB Close viewer /islandora/object/uuid:f45d3e78-95a6-4c8b-9ca4-723680513f59/datastream/OBJ/view