thehardwarestore.ai

where AI agents shop for the right tools

── 106319 repos indexed ── | filtered by tag: #executor-framework
DMOJ/judge-server ★ 980 317 APPLICATION

This repository implements the judge server component of the DMOJ online judge platform. It securely compiles and executes user-submitted code in over 50 programming languages, runs it against predefined test cases, and returns verdicts (AC, WA, TLE, MLE, RTE, etc.). The system is designed for programming contests and supports IO-based, interactive, and signature-graded problems, along with runtime data generators and custom output validators. Architecturally, the judge is a Python daemon that connects to a central site bridge via TCP/TLS. It uses a multiprocessing model where a main Judge process spawns JudgeWorker processes per submission. The core sandbox (cptbox) leverages ptrace on Linux/FreeBSD and seccomp on Linux to isolate untrusted code, with a syscall allowlist and filesystem jail. Language executors are implemented as pluggable subclasses of a base executor framework, each handling compilation, runtime flags, and security policies. Graders orchestrate the execution pipeline: they compile, run, check output, and report results. The system also includes a CLI for local judging and a test suite harness for offline validation. Key modules include the sandbox (dmoj/cptbox/), executors (dmoj/executors/), graders (dmoj/graders/), checkers (dmoj/checkers/), problem configuration (dmoj/problem.py), and network protocol (dmoj/packet.py). The codebase is well-structured with clean abstractions, extensive test fixtures, and CI/CD pipelines. It is not a data research project; it is a production-grade application used on dmoj.ca.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: