aboutsummaryrefslogtreecommitdiffstats
path: root/bruiser/README.md
blob: 95a759a8ba8b6d2eddaa5b4fa03ece6ffb0b9a63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
## bruiser

### What is it?
First off let's start with concrete facts. bruiser is implemented as an interactive shell, you can ask it to list information regrading the source codes it is run on. Future implementation plans include mutating the code as you want it to, and the little feeature that gives bruiser it's name which is to look at the code and decide how to break it.<br/>

### Why?
It's an interactive mutation tool, mutation has it's own uses like muation testing. It can give you some insight into the code-base you are maintaining.<br/>

### Implementation Ideas(Or bruiser Requirements if you will)
The analysis part can be handled by m0(mutator-lvl0), while bruiser consumes the report generated by m0. I'm leaning towards using the XML reoport mostly because of X-Path.<br/>
For the "getting to know the code" part we can do a feature extraction/categorization on the reports and then have some sort of a mutation database based on the results of running the mutants.<br/>
We need to have the makefile for the source code so we can build the mutants, fork them as a separate process(we don't want to crash bruiser), get the results and repeat. For that reason bruiser might be implented as a shell of some sort.<br/>