Introduction and Goals
The primary goal of Eva is to provide a modular and scalable system for automated code analysis of student code submitted to programming and database tasks. The main features are:
- Compilation of submitted solutions.
- Checking solutions for functional correctness using test-based methods.
- Checking solutions for quality properties, such as code style.
- Collecting code coverage metrics per test case through bytecode and source code instrumentation (JaCoCo, OpenClover). This is particularly relevant for computing education research and can contribute to improving test-based feedback.
- Support for a variety of programming languages and database management systems.