See LLVM-based Mutation Testing System. Request For Comments and FOSDEM 2017: Mutation Testing, Leaving the Stone Age by Alex Denisov.
So far Mull is being developed against OSX. Linux support is coming.
Warning: Recently we migrated Mull to be an out-of-source project. Migration went smoothly and all is working on our end (c). Please let us know if you notice some dependencies that we missed to specify below.
Current code is being developed against stable LLVM 3.9 branch.
Either use binary distribution via brew install llvm
or clone LLVM and
build it yourself from
release_39 branch.
# These are needed by LLVM
brew install zlib
brew install ncurses
# SQLite is needed for Mull to generate reports.
brew install sqlite
git clone https://github.com/mull-project/mull.git
cd mull
After you clone Mull, you have to install Google Test.
cd googletest
make install
cd ..
mkdir BuildXcode
cd BuildXcode
cmake ../ -G Xcode -DCMAKE_TOOLCHAIN_FILE=../Mull.toolchain.OSX.cmake
open Mull.xcodeproj
Use make help
to see the common tasks used by developers.
Use MullUnitTests
scheme to run the tests. Use mull-driver
scheme to
build Mull.
There are the questions we want to answer with Mull eventually.
- Can mutation testing actually detect serious errors in the real-world programs?
- What are the most effective mutation operators?
An Analysis and Survey of the Development of Mutation Testing
Are Mutants a Valid Substitute for Real Faults in Software Testing?
LLVM-based Mutation Testing System. Request For Comments
FOSDEM 2017: Mutation Testing, Leaving the Stone Age by Alex Denisov