Project Goals This project augmented the PIT Mutation Tool with three additional mutators:
- Arithmetic operation deletion
- Arithmetic operator replacement
- Relation operator replacement
Instructions
- Clone repository to your local machine.
- Navigate to subdirectory /PIT/pitest of newly cloned folder.
- Run following command: mvn clean install -DskipTests.
- Navigate to the sample project folder location.
- Run following command: mvn org.pitest:pitest-maven:mutationCoverage.
Running project with failed testcase
- Commenting line 311 of CoverageData.java inside the package org.pitest.coverage of sub-project pitest-entry
- Navigate to subdirectory /PIT/pitest-entry
- Run following command: mvn clean install -DskipTests.
- Navigate to subdirectory /PIT/pitest
- Run following command: mvn clean install -DskipTests.
- Navigate to the sample project folder location.
- Run following command: mvn clean test -DskipTests
- Run following command: mvn org.pitest:pitest-maven:mutationCoverage.
Run multiThread in mvn:
- Add this command in .bash_profile (MacOS) to run maven with 4 threads: alias mvnp='mvn -T 4'
- Replace mvn by mvnp in any commands, such as: mvnp org.pitest:pitest-maven:mutationCoverage
Mutation can fig buggy! Our strategy for fixing buggy:
- Tracking methods called for every tests.
- Using fault localization and ranking by Tarantula to rank top suspicious methods.
- Generating only 1 mutant each time on one of the top- suspicious methods
- Re-run the test suit, if all test are passed, then terminating, else go back to step 3.