При проведении соревнований по программированию, предполагающих автоматизированную проверку решений задач, часто оказывается затруднительным предоставить участникам аппаратно-программные среды разработки, полностью идентичные по своим характеристикам среде проверяющей системы (в большинстве случаев такая возможность вообще отсутствует). Различие платформ в общем случае делает невозможным запуск исполняемых файлов, созданных на компьютере участника, на проверяющем сервере.
В связи с этим общепринятой практикой является компиляция решений в среде проверяющей системы. Участнику в данном случае следует предосталять для проверки файлы исходного кода решения, а также тем или иным образом указывать предпочтительный компилятор.
Аналогичная ситуация имеет место для программных составляющих комплекта материалов задачи, который в общем случае также разрабатывается в среде, отличной от среды проверяющей системы.
-
Анализ информации:
- о множестве компиляторов (и опций компиляции), требуемых для подготовки материалов задачи (либо решения участника),
- о множестве компиляторов (и опций компиляции), доступных в среде проверяющей системы, и формирование отчёта о возможности/невозможности компиляции материалов задачи (либо решения участника) в проверяющей системе;
-
Подготовка программных составляющих (программ проверки выходных данных, валидаторов тестов и т. п.) комплекта материалов задачи к запуску перед проведением соревнования;
-
Подготовка решений участников к запуску в течение соревнования;
-
Предоставление поставщику файлов исходного кода (автору задачи или разработчику решения) средств указания требуемых компиляторов и опций компиляции:
- сравнительно высокоуровневых средств, позволяющих абстрагироваться от особенностей конкретных компиляторов в тех случаях, когда это возможно,
- сравнительно низкоуровневых средств, позволяющих задать специальные опции компиляции для задач, тесно связанных с разработкой под конкретную среду.