Система CATS предназначена для автоматической проверки программ и проведения соревнований по программированию.
Следующие возможности выделяют CATS среди аналогичных систем:
- Поддержка большого количества сред программирования.
- Стандартизированный машинно-читаемый формат пакета задачи.
- Общие модули проверки и генерации.
- Классификатор задач по сложности решения, вычислительной сложности,
применяемым алгоритмам и структурам данных.
- Поддержка как школьных, так и студенческих правил оценки, пересчёт оценок по различным правилам.
- Внеконкурсное и виртуальное участие в любом турнире.
- Возможность ограничить видимость задач на основе IP-адресов.
- Параллельное проведение произвольного числа неофициальных турниров, приостановка неофициальных турниров на время
официального.
- Гибкие настройки параметров турнира
- Построение
суммарной таблицы результатов по нескольким турам соревнования.
- Статистический анализ качества тестов.
- Автоматизированный поиск плагиата.
- Поддержка нескольких тестовых наборов для одной задачи
(например, тесты из условия, официальные тесты, добавленные после соревнования тесты).
- Создание новых турниров, загрузка задач, слежение за ходом соревнования полностью через веб-интерфейс.
- Формирование тренировочных турниров из набора существующих задач.
- Корректная работа с исходным кодом, содержащим русские буквы в различных кодировках.
- Просмотр и сравнение исходного кода отправленных программ.
- Проверка орфографии в тексте задач.
- Разграничение прав жюри по турнирам.
- Работа нескольких членов жюри одновременно с одним турниром.
- Борьба с нештатными ситуациями во время турнира: автоматическая приостановка тестирования задачи
при обнаружении ошибки, индивидуальное и массовое перетестирование.
- Кеширование текстов задач и таблиц результатов для повышения производительности
при большом количестве участников.