We have special-case support for Java, C and Maven. It would be nice if things were more pluggable. Relevant components: - test scanner - test runner - merging of submission and server files - preparation of stub and solution zips - sandbox installed programs - IDE plugin support