diff options
author | bloodstalker <thabogre@gmail.com> | 2016-11-21 12:31:05 +0000 |
---|---|---|
committer | bloodstalker <thabogre@gmail.com> | 2016-11-21 12:31:05 +0000 |
commit | 72e683aa02b5c159e38c1cd7c60eed22d2bf7877 (patch) | |
tree | 6a9415028bf385d1b8b03b1b85bff26200ee977b /README.md | |
parent | actually treated it as markdown and not simple text (diff) | |
download | mutator-72e683aa02b5c159e38c1cd7c60eed22d2bf7877.tar.gz mutator-72e683aa02b5c159e38c1cd7c60eed22d2bf7877.zip |
updated the md with build and run instructions.
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -1,11 +1,18 @@ # mutator -a C code mutator,Misra-C 2004 checker and when possible, a Misra-C implementer.<br/> +A C code mutator,Misra-C 2004 checker and when possible, a Misra-C implementer.<br/> **mutator-lvl0.cpp** contains the Misra-C rules to check.<br/> **mutator.cpp** contains the mutators which are not copiled for the time being since im working on Misra-C only for the time being, along with some Misra-C implementers.<br/> **mutator-lvl2.cpp** contains some other Misra-C implementers. Rewriting the code in multiple stages allows for more simplistic rewrites and is also a check to see whether the output is actually buildable.<br/> **mutator.sh** is the UI, which is supposed to work like just any other nix UI(option-wise).<br/> -the **utility** folder holds the C source and headers that are necessary to run the instruented code(currently unused).<br/> +The **utility** folder holds the C source and headers that are necessary to run the instruented code(currently unused).<br/> **mutator-aux.cpp.h** hold the auxillary functions that most modules will need.<br/> -well there is the **makefile**.<br/> -the **test** folder holds the TDD tests.<br/> +Well there is the **makefile**.<br/> +The **test** folder holds the TDD tests.<br/> + +To build the project, you need to have the LLVM libraries 4.0 to avoid any unforseen results. The project ccan not be built with LLVM 3.8 or lower, but I havent tested LLVM 3.9. Just run **make** and you're good to go. Running make will build three executables which can be used independently or with **mutator.sh**(use -h to see a list of options.)<br/> +**mutator-lvl0** will run the Misra-C:2004 checks.<br/> +**mutator** will run the level-1 Misra-C:2004 implementers.<br/> +**mutator-lvl2** will run the level-2 Misra-C:2004 implementers.<br/> +Currently, the mutation-only features(mutation for the sake of mutation, technically implementing Misra-C is also a form of mutation) are turned off in **mutator** and **mutator-lvl2**.<br/> +If your code needs a compilation database for clang to understand it and you don't have one,you can use [Bear](https://github.com/rizsotto/Bear).<br/> |