@ -52,7 +52,9 @@ window to submit the solution. Each solution is compiled and run in sandbox
memory limits. It supports programs written in C, C++, C#, Java, Pascal, Python
memory limits. It supports programs written in C, C++, C#, Java, Pascal, Python
and Haskell.
and Haskell.
Current system is old, but robust. There were no major security incidents during its production usage. However, from today's perspective there are several drawbacks. The main ones are:
Current system is old, but robust. There were no major security incidents
during its production usage. However, from today's perspective there are
several drawbacks. The main ones are:
- **web interface** -- The web interface is simple and fully functional. But
- **web interface** -- The web interface is simple and fully functional. But
rapid development in web technologies opens new horizons of how web interface
rapid development in web technologies opens new horizons of how web interface
@ -76,14 +78,31 @@ Current system is old, but robust. There were no major security incidents during
which have a more difficult evaluation chain than simple
which have a more difficult evaluation chain than simple
compilation/execution/evaluation provided by CodEx.
compilation/execution/evaluation provided by CodEx.
After considerring all these facts, it is clear that CodEx cannot be used
Supervisors and current users of CodEx gives us following ideas for improvements:
anymore. The project is too old to just maintain it and extend for modern
technologies. Thus, it needs to be completely rewritten or another solution must
- mark one student solution as accepted (used for grading this assignment)
- command-line submit tool
- SIS integration for personal user data
- plagiarism detection
After considering all these facts, it is clear that CodEx cannot be used
anymore. The project is too old to just maintain it and extend for modern
technologies. Thus, it needs to be completely rewritten or another solution
must be found.
### Related projects
### Related projects
First of all, some code evaluating projects were found and examined. It is not a complete list of such evaluators, but just a few projects which are used these days and can be an inspiration for our project.
First of all, some code evaluating projects were found and examined. It is not
a complete list of such evaluators, but just a few projects which are used
these days and can be an inspiration for our project. Each project from the
list has a brief description and some key features mentioned.
#### Progtest
#### Progtest
@ -96,7 +115,13 @@ or array boundaries checks via `mudflap` library.
#### Codility
#### Codility
[Codility](https://codility.com/) is web based solution primary targeted to company recruiters. It is commercial product of SaaS type supporting 16 programming languages. The [UI](http://1.bp.blogspot.com/-_isqWtuEvvY/U8_SbkUMP-I/AAAAAAAAAL0/Hup_amNYU2s/s1600/cui.png) of Codility is [opensource](https://github.com/Codility/cui), the rest of source code is not available. One interesting feature is 'task timeline' -- captured progress of writing code for each user.
[Codility](https://codility.com/) is web based solution primary targeted to
company recruiters. It is commercial product of SaaS type supporting 16