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 | |
| 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.
| -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/> | 
