Refefree Programming Contest System


This is the home of the Refefree Programming Contest System. It consists of a protocol and implementations of both server and clients. Its purpose is to simplify the technical realisation of programming contests.

Main features of the system are simplicity and dependability, especially at the server. The purpose of the server is to connect contestants and judges, and to store the contest state, i.e. submissions, judgements, clarifications. The two types of clients, one for contestants and one for judges, provide the user interface.

Usually, contestants submit solutions using their client. The server stores the source code along with some state information, like submission time and language. A judge will then select the submission and start the testing process which compiles the solution, runs it with secret inputs and compares against the secret outputs. The contestant is then notified about the judgement.

To ease judging, the software tests semiautomatically, proposing a judgement. This judgement can be altered by the (human) judge, but will be appropriate in the absence of configuration and secret input/output mistakes.