diff --git a/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/junit/quickcheck/FuzzStatement.java b/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/junit/quickcheck/FuzzStatement.java index 45d15baef..0d61919e4 100644 --- a/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/junit/quickcheck/FuzzStatement.java +++ b/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/junit/quickcheck/FuzzStatement.java @@ -186,7 +186,7 @@ public void evaluate() throws Throwable { if (result == SUCCESS) { observability.addTiming(startTrialTime, endGenerationTime, endTrialTime); } - observability.add("representation", Arrays.toString(args)); + observability.addArgs(args); if (guidance instanceof ZestGuidance) { observability.add("how_generated", "Zest"); diff --git a/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/util/Observability.java b/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/util/Observability.java index a8977948a..e3055bc47 100644 --- a/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/util/Observability.java +++ b/fuzz/src/main/java/edu/berkeley/cs/jqf/fuzz/util/Observability.java @@ -8,6 +8,7 @@ import java.io.FileWriter; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Arrays; import static edu.berkeley.cs.jqf.fuzz.guidance.Result.FAILURE; import static edu.berkeley.cs.jqf.fuzz.guidance.Result.INVALID; @@ -81,6 +82,15 @@ public void addTiming(long startTime, long endGenerationTime, long endExecutionT timingObject.put("execution", endExecutionTime - endGenerationTime); } + public void addArgs(Object[] args) { + JsonNode argsNode = testCaseJsonObject.get("args"); + ObjectNode argsObject = (ObjectNode) argsNode; + for (int i = 0; i < args.length; i++) { + argsObject.put("arg" + i, args[i].toString()); + } + add("representation", Arrays.toString(args)); + } + public void add(String key, String value) { testCaseJsonObject.put(key, value); }