Skip to content

Commit

Permalink
Update log format
Browse files Browse the repository at this point in the history
  • Loading branch information
NolanWY committed Nov 27, 2023
1 parent 59e2eac commit a14dfc1
Showing 1 changed file with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,8 @@ public void dump(TFGInfoCollector infoCollector) {
File output = new File(World.get().getOptions().getOutputDir(), "transfer-inferer-output.log");
logger.info("Dumping {}", output.getAbsolutePath());
try (PrintStream out = new PrintStream(new FileOutputStream(output))) {
countTaintRelatedTrans(out, infoCollector.getAllShortestTaintPath());
out.println("Recommended taint transfers and taint flow graph helper output:");
for (var entry : infoCollector.getInfoKeySet()) {
Var sourceVar = entry.first();
Var sinkVar = entry.second();
Expand All @@ -187,6 +189,13 @@ public void dump(TFGInfoCollector infoCollector) {
}
}

private void countTaintRelatedTrans(PrintStream out, Collection<TaintPath> taintPaths) {
Set<InferredTransfer> taintTransfers = taintPaths.stream()
.flatMap(taintPath -> taintPath.graphHelper().getAllInferredTransfers().stream())
.collect(Collectors.toUnmodifiableSet());
out.printf("There are %d taint related transfers.%n", taintTransfers.size());
}

private void dumpInferredTrans(PrintStream out, TaintPath taintPath) {
out.printf("%nInferred transfers:%n");
TaintGraphHelper graphHelper = taintPath.graphHelper();
Expand All @@ -196,7 +205,7 @@ private void dumpInferredTrans(PrintStream out, TaintPath taintPath) {
}

private void dumpShortestTaintPath(PrintStream out, TaintPath taintPath) {
out.printf("%nShortest taint path:%n");
out.printf("%nRecommended taint path:%n");
taintPath.path().forEach(edge -> out.println(edge.pointerFlowEdge()));
}

Expand Down

0 comments on commit a14dfc1

Please sign in to comment.