POTD 9: Code Defense (Program-based mutation testing)

Due 15-Nov-2025, 11am EST
Purpose:

You may work alone or with at most two other students in this course (feel free to make use of any communication channels of your choice).

Resources: You may find the RIPR concept, mutation testing, test automation, and JUnit helpful.


Follow the instructions below to play Code Defenders.

Code Defenders allows users to learn mutation as a game. Attackers create mutants in a Java class, and defenders design JUnit tests to kill the mutants. Defenders score by killing mutants, and attackers score by creating mutants defenders cannot kill.

You may create a new game or join the existing games.

A battleground is multiplayer, where one player creates a game and functions as an observer, and the other players can join as either defenders or attackers.

A melee is multiplayer, where each player acts as a defender and an attacker to the other players. Note: if you play as an attacker (creating mutants) and as a defender (writing JUnit tests), you cannot claim credits for killing your mutants.


Tasks:

  1. Create an account (you will need an email address).
    • Important note: Do NOT use your UVA computingID or any of your credentials. This web-based mutation testing game is hosted and managed by faculty members at another university.
  2. You can create a new game (melee or battleground) or join the existing game.
  3. You may use any Java class of your choice or use a cal.java from a Software Testing textbook, which should be already uploaded
    • You should use a simple, unit-level program, not a large-scale or OO program.
  4. Set the game levels to hard
  5. Play the game as an attacker (creating mutants) and/or a defender (writing JUnit tests to kill the mutants)
    • Please note that if you join the existing games, there are chances that the games were created by students at other universities. Due to the different time zone, they may not be active at the time you are playing the games.

Defenders can claim a mutant is equivalent by clicking the “Claim Equivalent” button. The attacker then either has to agree (giving the point to the defender) or prove the mutant is not equivalent by designing a test to kill the mutant.

If you are an "attacker"

If you are a "defender"


Grading rubric

[Total: 10 points]: Done (or provide evidence of your attempt, full or reasonable effort)

(-2.5 points) for 24 hours late (submitted after 15-Nov-2025 11am EST, by 16-Nov-2025 11am EST)
(-5 points) for 48 hours late (submitted after 16-Nov-2025 11am EST, by 17-Nov-2025 11am EST)


Submission

Making your submission available to instructor and course staff is your responsibility; if we cannot access or open your file, you will not get credit. Be sure to test access to your file before the due date.


Copyright © 2025 Upsorn Praphamontripong
Released under the Creative Commons License CC-BY-NC-SA 4.0 license.
Last updated 2025-11-11 17:52