From c677bd31630b09a0ead0a5f481c516600daf2e74 Mon Sep 17 00:00:00 2001 From: Ewen Smith <ewens@student.unimelb.edu.au> Date: Fri, 23 Oct 2020 13:04:48 +1100 Subject: [PATCH] Added conditions fo give incorrect vars with instructions --- fuzzer/Fuzzer.java | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/fuzzer/Fuzzer.java b/fuzzer/Fuzzer.java index fe9e266..7212839 100644 --- a/fuzzer/Fuzzer.java +++ b/fuzzer/Fuzzer.java @@ -202,12 +202,12 @@ public class Fuzzer { if (instructionStack.size() >= MAX_STACK) { instructionStack.clear(); } - System.out.println("stack: " + Arrays.toString(instructionStack.toArray())); - for (List<Instruction> list: pathwayProb.keySet()) { - String key = list.toString(); - String value = pathwayProb.get(list).toString(); - System.out.println("map: " + key + " " + value); - } + //System.out.println("stack: " + Arrays.toString(instructionStack.toArray())); + //for (List<Instruction> list: pathwayProb.keySet()) { + // String key = list.toString(); + // String value = pathwayProb.get(list).toString(); + // System.out.println("map: " + key + " " + value); + //} } @@ -283,7 +283,9 @@ public class Fuzzer { name = " " + ((Integer) randomRange(VAR_MIN, VAR_MAX)).toString(); } else { // If incorrect, increase the range to outside +- int31_t - name = " " + ((Long) (randomRange(-1,1)*((long) VAR_MAX + (long) randomRange(0, VAR_MAX)))).toString(); + if (randomRange(0,100)<50){ + name = " " + ((Long) (randomRange(-1,1)*((long) VAR_MAX + (long) randomRange(0, VAR_MAX)))).toString(); + } } break; case LOAD: @@ -304,22 +306,30 @@ public class Fuzzer { } break; case STORE: - // If not correct, make up a name not in the list + // If correct, make up a name not in the list if (correct || vars.size() == 0){ // Make up a name name = generateName(longVarNames); vars.add(name); } - // If no variables, return empty string + // Otherwise get name from exiting, or no name else { - name = vars.get(randomRange(0,vars.size()-1)); + if (randomRange(0,100)<50) { + name = vars.get(randomRange(0, vars.size() - 1)); + } } name = " " + name; break; case SAVE: - name = " " + generateName(longVarNames) + ".txt"; + if (correct){ + name = " " + generateName(false) + ".txt"; + } else { + if (randomRange(0,100)<50) { + name = " " + generateName(longVarNames) + ".txt"; + } + } break; case PLUS: case SUB: @@ -345,7 +355,11 @@ public class Fuzzer { int length; if (longVarName){ - length = VAR_NAME_LENGTH_MAX + 100; + if (randomRange(0,100)<50){ + length = 0; + } else { + length = VAR_NAME_LENGTH_MAX + 100; + } } else { // Randomise the length of the string length = rand.nextInt(VAR_NAME_LENGTH_MAX); -- GitLab