Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/main/java/pascal/taie/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
import pascal.taie.config.PlanConfig;
import pascal.taie.config.Scope;
import pascal.taie.frontend.cache.CachedWorldBuilder;
import pascal.taie.util.Monitor;
import pascal.taie.util.RuntimeInfoLogger;
import pascal.taie.util.Timer;
import pascal.taie.util.collection.Lists;

import java.io.InputStream;
Expand All @@ -49,7 +49,7 @@ public class Main {
private static final Logger logger = LogManager.getLogger(Main.class);

public static void main(String... args) {
Timer.runAndCount(() -> {
Monitor.runAndCount(() -> {
Options options = processArgs(args);
LoggerConfigs.setOutput(options.getOutputDir());
RuntimeInfoLogger.logRuntimeInfo();
Expand Down Expand Up @@ -123,7 +123,7 @@ public static void buildWorld(String... args) {
}

private static void buildWorld(Options options, List<AnalysisConfig> analyses) {
Timer.runAndCount(() -> {
Monitor.runAndCount(() -> {
try {
Class<? extends WorldBuilder> builderClass = options.getWorldBuilderClass();
Constructor<? extends WorldBuilder> builderCtor = builderClass.getConstructor();
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/pascal/taie/analysis/AnalysisManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import pascal.taie.language.classes.JClass;
import pascal.taie.language.classes.JMethod;
import pascal.taie.util.AnalysisException;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;
import pascal.taie.util.graph.SimpleGraph;

import java.lang.reflect.Constructor;
Expand Down Expand Up @@ -100,7 +100,7 @@ public void execute() {
methodScope = null;
// execute analyses
plan.analyses().forEach(config -> {
Analysis analysis = Timer.runAndCount(
Analysis analysis = Monitor.runAndCount(
() -> runAnalysis(config), config.getId(), Level.INFO);
if (!keepAllResults) {
executedAnalyses.add(analysis);
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/pascal/taie/analysis/pta/PointerAnalysis.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
import pascal.taie.config.AnalysisOptions;
import pascal.taie.config.ConfigException;
import pascal.taie.util.AnalysisException;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
Expand Down Expand Up @@ -85,15 +85,15 @@ public PointerAnalysisResult analyze() {
PointerAnalysisResult preResult = runAnalysis(heapModel,
ContextSelectorFactory.makeCISelector());
if (advanced.startsWith("scaler")) {
selector = Timer.runAndCount(() -> ContextSelectorFactory
selector = Monitor.runAndCount(() -> ContextSelectorFactory
.makeGuidedSelector(Scaler.run(preResult, advanced)),
"Scaler", Level.INFO);
} else if (advanced.startsWith("zipper")) {
selector = Timer.runAndCount(() -> ContextSelectorFactory
selector = Monitor.runAndCount(() -> ContextSelectorFactory
.makeSelectiveSelector(cs, Zipper.run(preResult, advanced)),
"Zipper", Level.INFO);
} else if (advanced.equals("mahjong")) {
heapModel = Timer.runAndCount(() -> Mahjong.run(preResult, options),
heapModel = Monitor.runAndCount(() -> Mahjong.run(preResult, options),
"Mahjong", Level.INFO);
} else {
throw new IllegalArgumentException(
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/pascal/taie/analysis/pta/plugin/AnalysisTimer.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import pascal.taie.analysis.Analysis;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;

/**
* Records the elapsed time of pointer analysis.
Expand All @@ -34,17 +34,17 @@ public class AnalysisTimer implements Plugin {

private static final Logger logger = LogManager.getLogger(Analysis.class);

private Timer ptaTimer;
private Monitor ptaMonitor;

@Override
public void onStart() {
ptaTimer = new Timer("Pointer analysis");
ptaTimer.start();
ptaMonitor = new Monitor("Pointer analysis");
ptaMonitor.start();
}

@Override
public void onFinish() {
ptaTimer.stop();
logger.info(ptaTimer);
ptaMonitor.stop();
logger.info(ptaMonitor);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
import pascal.taie.language.classes.JMethod;
import pascal.taie.language.type.TypeSystem;
import pascal.taie.util.AnalysisException;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;

import javax.annotation.Nullable;
import java.io.File;
Expand Down Expand Up @@ -251,7 +251,7 @@ private void reportTaintFlows() {
taintFlows.forEach(logger::info);
solver.getResult().storeResult(getClass().getName(), taintFlows);
TaintManager manager = context.manager();
Timer.runAndCount(() -> new TFGDumper().dump(
Monitor.runAndCount(() -> new TFGDumper().dump(
new TFGBuilder(solver.getResult(), taintFlows, manager).build(),
new File(World.get().getOptions().getOutputDir(), TAINT_FLOW_GRAPH_FILE)),
"TFGDumper");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import pascal.taie.analysis.pta.core.heap.Obj;
import pascal.taie.config.AnalysisOptions;
import pascal.taie.language.type.Type;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;
import pascal.taie.util.collection.Maps;
import pascal.taie.util.collection.UnionFindSet;

Expand All @@ -55,12 +55,12 @@ public static HeapModel run(PointerAnalysisResult pta,

HeapModel buildHeapModel(PointerAnalysisResult pta,
AnalysisOptions options) {
FieldPointsToGraph fpg = Timer.runAndCount(
FieldPointsToGraph fpg = Monitor.runAndCount(
() -> new FieldPointsToGraph(pta),
"Building field points-to graph", Level.INFO);
dfaFactory = Timer.runAndCount(() -> new DFAFactory(fpg),
dfaFactory = Monitor.runAndCount(() -> new DFAFactory(fpg),
"Building DFA", Level.INFO);
UnionFindSet<Obj> uf = Timer.runAndCount(
UnionFindSet<Obj> uf = Monitor.runAndCount(
() -> mergeTypeConsistentObjects(fpg),
"Merging type-consistent objects", Level.INFO);
// build resulting heap model based on merge map
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
import pascal.taie.ir.stmt.New;
import pascal.taie.language.classes.JMethod;
import pascal.taie.language.type.Type;
import pascal.taie.util.Monitor;
import pascal.taie.util.MutableInt;
import pascal.taie.util.Timer;
import pascal.taie.util.collection.Maps;
import pascal.taie.util.collection.Sets;

Expand Down Expand Up @@ -110,9 +110,9 @@ public Zipper(PointerAnalysisResult ptaBase, boolean isExpress, float pv) {
this.pta = new PointerAnalysisResultExImpl(ptaBase, true);
this.isExpress = isExpress;
this.pv = pv;
this.oag = Timer.runAndCount(() -> new ObjectAllocationGraph(pta),
this.oag = Monitor.runAndCount(() -> new ObjectAllocationGraph(pta),
"Building OAG", Level.INFO);
this.pce = Timer.runAndCount(() -> new PotentialContextElement(pta, oag),
this.pce = Monitor.runAndCount(() -> new PotentialContextElement(pta, oag),
"Building PCE", Level.INFO);
this.ofg = ptaBase.getObjectFlowGraph();
logger.info("{} nodes in OFG", ofg.getNodes().size());
Expand Down Expand Up @@ -148,7 +148,7 @@ public Set<JMethod> selectPrecisionCriticalMethods() {

// build and analyze precision-flow graphs
Set<Type> types = pta.getObjectTypes();
Timer.runAndCount(() -> types.parallelStream().forEach(this::analyze),
Monitor.runAndCount(() -> types.parallelStream().forEach(this::analyze),
"Building and analyzing PFG", Level.INFO);
logger.info("#types: {}", types.size());
logger.info("#avg. nodes in PFG: {}", totalPFGNodes.get() / types.size());
Expand Down
26 changes: 13 additions & 13 deletions src/main/java/pascal/taie/frontend/cache/CachedWorldBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import pascal.taie.WorldBuilder;
import pascal.taie.config.AnalysisConfig;
import pascal.taie.config.Options;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
Expand Down Expand Up @@ -84,8 +84,8 @@ private boolean loadCache(Options options, File worldCacheFile) {
return false;
}
logger.info("Loading the world cache from {}", worldCacheFile);
Timer timer = new Timer("Load the world cache");
timer.start();
Monitor monitor = new Monitor("Load the world cache");
monitor.start();
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(
Expand All @@ -105,34 +105,34 @@ private boolean loadCache(Options options, File worldCacheFile) {
logger.error("Failed to close input stream", e);
}
}
timer.stop();
logger.info(timer);
monitor.stop();
logger.info(monitor);
}
return false;
}

private void runWorldBuilder(Options options, List<AnalysisConfig> analyses) {
logger.info("Running the WorldBuilder ...");
Timer timer = new Timer("Run the WorldBuilder");
timer.start();
Monitor monitor = new Monitor("Run the WorldBuilder");
monitor.start();
delegate.build(options, analyses);
timer.stop();
logger.info(timer);
monitor.stop();
logger.info(monitor);
}

private void saveCache(File worldCacheFile) {
logger.info("Saving the world cache to {}", worldCacheFile);
Timer timer = new Timer("Save the world cache");
timer.start();
Monitor monitor = new Monitor("Save the world cache");
monitor.start();
try (ObjectOutputStream oos = new ObjectOutputStream(
new BufferedOutputStream(new FileOutputStream(worldCacheFile)))) {
oos.writeObject(World.get());
} catch (Exception e) {
logger.error("Failed to save world cache from {} due to {}",
worldCacheFile, e);
} finally {
timer.stop();
logger.info(timer);
monitor.stop();
logger.info(monitor);
}
}

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/pascal/taie/frontend/soot/IRBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import pascal.taie.language.classes.ClassHierarchy;
import pascal.taie.language.classes.JClass;
import pascal.taie.language.classes.JMethod;
import pascal.taie.util.Timer;
import pascal.taie.util.Monitor;

import java.util.ArrayList;
import java.util.List;
Expand Down Expand Up @@ -67,8 +67,8 @@ public IR buildIR(JMethod method) {
*/
@Override
public void buildAll(ClassHierarchy hierarchy) {
Timer timer = new Timer("Build IR for all methods");
timer.start();
Monitor monitor = new Monitor("Build IR for all methods");
monitor.start();
int nThreads = Runtime.getRuntime().availableProcessors();
// Group all methods by number of threads
List<List<JMethod>> groups = new ArrayList<>();
Expand All @@ -95,7 +95,7 @@ public void buildAll(ClassHierarchy hierarchy) {
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
timer.stop();
logger.info(timer);
monitor.stop();
logger.info(monitor);
}
}
Loading