The “CodeDefenders: RoboTournament” project aims at enriching the already existing game of CodeDefenders with some new functionalities: students tournaments, games against bots, and live score streaming. The tournaments function will be implemented by an external application.
CodeDefenders is a web game on mutation testing.
Each game involves two teams of students, competing against each other, and a piece of code (code under testing).
The attackers team injects faults in the code under testing creating so called mutants, whereas defenders write unit tests to spot the injected problems.
Defenders earns points for each discovered mutant. Attackers earn points for each mutant escaping the tests.
Project Features
- A Tournament Application allowing students to create teams and compete in tournaments
- A streaming service (included in the Tournament Application) allowing users to follow games live
- CodeDefenders API to manage users and matches
- CodeDefenders API to let bots play a match and get data to be trained
Tournament Application
Try out our Tournament Application!
A full demo of the tournament application is also available. Check it out!
CodeDefenders APIs
API to get data to train bots and to let them play can be tested on an instance of our updated CodeDefenders version!
A full list of available APIs can be found in this document.
Architecture Overview and Technologies
The following figures show the high-level architecture of our system and the component architecture of our Tournament Application
In our project we adopted Spring for the Tournament Application backend and React framework for its frontend. Our data are stored in a relational MySQL database. We finally used Java Servlets to implement CodeDefenders API.
Additional Resourses
Find out more in our Project Plan and other documents.
Our Jira project page: Product backlog status, Sprint board
Our project product on GitHub
Our Docker Hub repository: codebenders
Contact Us
Simone MEZZARO: simone.mezzaro@mail.polimi.it
Dominik Brdar: brdar.dominik@gmail.com