From 72e683aa02b5c159e38c1cd7c60eed22d2bf7877 Mon Sep 17 00:00:00 2001 From: bloodstalker Date: Mon, 21 Nov 2016 16:01:05 +0330 Subject: updated the md with build and run instructions. --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 29cdebb..74cefc9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,18 @@ # mutator -a C code mutator,Misra-C 2004 checker and when possible, a Misra-C implementer.
+A C code mutator,Misra-C 2004 checker and when possible, a Misra-C implementer.
**mutator-lvl0.cpp** contains the Misra-C rules to check.
**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.
**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.
**mutator.sh** is the UI, which is supposed to work like just any other nix UI(option-wise).
-the **utility** folder holds the C source and headers that are necessary to run the instruented code(currently unused).
+The **utility** folder holds the C source and headers that are necessary to run the instruented code(currently unused).
**mutator-aux.cpp.h** hold the auxillary functions that most modules will need.
-well there is the **makefile**.
-the **test** folder holds the TDD tests.
+Well there is the **makefile**.
+The **test** folder holds the TDD tests.
+ +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.)
+**mutator-lvl0** will run the Misra-C:2004 checks.
+**mutator** will run the level-1 Misra-C:2004 implementers.
+**mutator-lvl2** will run the level-2 Misra-C:2004 implementers.
+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**.
+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).
-- cgit v1.2.3