SWE 637 Homework 9
Fall 2006
Program Mutation: Due 12/5
(two weeks, extra time for Thanksgiving)

Notes:
muJava works with Java 1.4, but students have reported problems with 1.5
Download: Vending Machine, Java 1.4
Download: tools.jar (in case you have trouble finding it)

If you want truly to understand something, try to change it.
- Kurt Lewin

Answer the following questions. Bring hardcopies of your answers to class, hand written or printouts. All homeworks are due before class on the due date. Please remember that the GMU Honor Code is in effect: You may discuss the assignment with each other, the professor, or the GTA, but each homework should be done individually.

  1. Use the muJava tool to test the vending machine class. (Note 27 November: The Java 1.5 version, vending machine, does not work with muJava.) Download and install muJava. Be sure to follow the instructions carefully, the CLASSPATH is a little painful! I have prepared one vending machine test case for you in a file that muJava likes. Add tests to kill as many mutants as possible.

    Submit your tests (a printout of your Java test file is sufficient) and provide a summary of mutants killed and alive, by mutation operator. A screendump of muJava showing how many mutants of each operator were killed is fine.

  2. Agitar Bonus. (5 pts)
    Let Agitar generate tests for vendingMachine, then run those tests under muJava. What was Agitar's edge coverage? What mutation score did you get?