Docker as Platform for Assignments Evaluation

Abstract Programming courses are significant part of IT experts’ education process. To being able to provide adequate teaching quality in such courses, lecturers should be exempted from routine tasks like source code compilation, testing and grading. Current computers are equipped with enough computational power to automate these routine tasks. This paper discusses the analysis and realization of such a system for user submitted automatic source code evaluation. The main system requirement was the safe runtime environment (sandbox) for executing potentially dangerous programs. Container based platform Docker was selected after research of ready to use sandbox technologies. This platform simplifies access to isolation mechanism which are implemented in the current Linux kernel and provides API for system integration. The implemented system around Docker platform is named APAC (Automatic Programming Assignment Checker). In the paper APAC's architecture and implementation are described and discussed.