package org.ntlab.deltaViewer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import org.ntlab.deltaExtractor.Alias;
import org.ntlab.deltaExtractor.DeltaExtractorJSON;
import org.ntlab.deltaExtractor.ExtractedStructure;
import org.ntlab.trace.FieldAccess;
import org.ntlab.trace.MethodExecution;
import org.ntlab.trace.Reference;
import org.ntlab.trace.Statement;
import org.ntlab.trace.ThreadInstance;
import org.ntlab.trace.TraceJSON;
import org.ntlab.trace.TracePoint;
/**
* Delta viewer sample for MagnetRON.
*
* @author Nitta Lab.
*/
public class DeltaViewerSample {
/**
* @param args
*/
public static void main(String[] args) {
// TraceJSON trace = new TraceJSON("traces/_worstCase.txt");
// TraceJSON trace = new TraceJSON("traces/jEditBenchmark.trace");
// TraceJSON trace = new TraceJSON("traces/jHotDrawBenchmark.trace");
// TraceJSON trace = new TraceJSON("traces/ArgoUMLBenchmark.trace");
// Trace trace = new Trace("traces\\worstCase.txt");
// Trace trace = new TraceJSON("traces\\_worstCase.txt");
// Change!
// TraceJSON trace = new TraceJSON("traces/testTrace2.txt");
// TraceJSON trace = new TraceJSON("traces/_worstCase.txt");
// DeltaExtractorJSON dex = new DeltaExtractorJSON(trace);
// one delta extract
// TraceJSON trace = new TraceJSON("traces/traceSample1.txt");
// TraceJSON trace = new TraceJSON("traces/traceSample2.txt");
// TraceJSON trace = new TraceJSON("traces/presenSample.txt");
// TraceJSON trace = new TraceJSON("traces/_worstCase.txt");
// TraceJSON trace = new TraceJSON("traces/sample1.trace");
// TraceJSON trace = new TraceJSON("traces/sampleArray.trace");
TraceJSON trace = new TraceJSON("traces/sampleCollection.trace");
// TraceJSON trace = new TraceJSON("traces/sampleCreate.trace");
// TraceJSON trace = new TraceJSON("traces/sampleStatic.trace");
// Error display MagnetRON.
// TraceJSON trace = new TraceJSON("traces/testTrace3.txt");
// TraceJSON trace = new TraceJSON("traces/testTrace5.txt");
DeltaExtractorJSON s = new DeltaExtractorJSON(trace);
HashMap<String, ThreadInstance> threads = trace.getAllThreads();
ThreadInstance thread = threads.values().iterator().next(); // 最後のスレッドを見ているだけ…
TracePoint tp = thread.getRoot().get(thread.getRoot().size() - 1).getExitPoint();
DeltaAliasCollector dac = new DeltaAliasCollector();
// 参照元のオブジェクトId
// ExtractedStructure e = s.extract(new Reference(null, null, "E", "C"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "D", "C"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "worstCase.P", "worstCase.M"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "sample1.D", "sample1.C"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "sampleArray.D", "sampleArray.C"), tp, dac);
ExtractedStructure e = s.extract(new Reference(null, null, "sampleCollection.D", "sampleCollection.C"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "sampleCreate.D", "sampleCreate.C"), tp, dac);
// ExtractedStructure e = s.extract(new Reference(null, null, "sampleStatic.D", "sampleStatic.C"), tp, dac);
// HashSet<String> marked = trace.getMarkedMethodSignatures(1255991806833871L, 1255991808597322L);
// HashSet<String> marked = trace.getMarkedMethodSignatures(1699553004208835L, 1699553004739523L);
// System.out.println("===== Marked Methods =====");
// for (String method: marked) {
// System.out.println(method);
// }
// HashSet<String> unmarked = trace.getUnmarkedMethodSignatures(1255991806833871L, 1255991808597322L);
// HashSet<String> unmarked = trace.getUnmarkedMethodSignatures(1699553004208835L, 1699553004739523L);
// System.out.println("===== Unmarked Methods =====");
// for (String method: unmarked) {
// System.out.println(method);
// }
// Change!
// setArray, setCollection(2回目以降は必要なし) , foreach(thread)
// ArrayListにaddされてない
// フィールドに代入されていない
// HashMap<String, ThreadInstance> threads = trace.getAllThreads();
for(ThreadInstance ti: threads.values()) {
ArrayList<MethodExecution> roots = ti.getRoot();
for(MethodExecution root: roots) {
traverseMethodExecution(root);
}
}
DeltaViewer dv = new DeltaViewer(e, dac);
List<Alias> aliasList = new ArrayList<>(dac.getAliasList());
// dv.setCoordinatorPoint(1200, 100);
dv.init();
// dv.update();
for(int i = 0; i < aliasList.size(); i++) {
System.out.println(aliasList.get(i).getObjectId() + ", " + aliasList.get(i).getMethodSignature() + " l." + aliasList.get(i).getLineNo() + " : " + aliasList.get(i).getAliasType().toString());
}
for(int i = 0; i <= aliasList.size(); i++) {
dv.stepToAnimation(i);
// dv.update();
}
/*
* 正しい結果
*
===== Marked Methods =====
void worstCase.O.passL(worstCase.L)
worstCase.L worstCase.I.getL()
worstCase.L worstCase.K.getL()
worstCase.M worstCase.L.getM()
worstCase.K worstCase.J.getK()
void worstCase.N.passI(worstCase.I)
void worstCase.P.setM(worstCase.M)
===== Unmarked Methods =====
worstCase.F worstCase.C.getF()
worstCase.E worstCase.D.getE()
worstCase.A()
public worstCase.M()
worstCase.F()
void worstCase.A.m()
public static void worstCase.main.main(java.lang.String[])
worstCase.G()
worstCase.H()
worstCase.I()
worstCase.B()
worstCase.C()
worstCase.D()
worstCase.E()
worstCase.N()
worstCase.O()
worstCase.P()
worstCase.F worstCase.E.getF()
worstCase.J()
worstCase.K()
worstCase.L()
worstCase.I worstCase.F.getI()
worstCase.H worstCase.G.getH()
worstCase.I worstCase.H.getI()
worstCase.I worstCase.B.getI()
*/
// HashSet<String> all = trace.getAllMethodSignatures();
// System.out.println("===== All Methods =====");
// for (String method: all) {
// System.out.println(method);
// }
/*
* 正しい結果
*
===== All Methods =====
worstCase.F worstCase.C.getF()
worstCase.E worstCase.D.getE()
worstCase.A()
void worstCase.P.setM(worstCase.M)
public worstCase.M()
worstCase.M worstCase.L.getM()
worstCase.L worstCase.I.getL()
worstCase.L worstCase.K.getL()
void worstCase.N.passI(worstCase.I)
void worstCase.A.m()
worstCase.F()
public static void worstCase.main.main(java.lang.String[])
worstCase.G()
void worstCase.O.passL(worstCase.L)
worstCase.H()
worstCase.I()
worstCase.B()
worstCase.C()
worstCase.D()
worstCase.E()
worstCase.N()
worstCase.O()
worstCase.K worstCase.J.getK()
worstCase.F worstCase.E.getF()
worstCase.P()
worstCase.J()
worstCase.K()
worstCase.I worstCase.F.getI()
worstCase.I worstCase.H.getI()
worstCase.H worstCase.G.getH()
worstCase.L()
worstCase.I worstCase.B.getI()
*/
// ArrayList<MethodExecution> specified = trace.getMethodExecutions("void");
// System.out.println("===== Specified Methods =====");
// for (MethodExecution method: specified) {
// System.out.println(method.getSignature());
// }
/*
* 正しい結果
*
===== Specified Methods =====
void worstCase.A.m()
void worstCase.N.passI(worstCase.I)
void worstCase.O.passL(worstCase.L)
void worstCase.P.setM(worstCase.M) *
*/
// HashMap<String, ArrayList<MethodExecution>> allExecutions = trace.getAllMethodExecutions();
// System.out.println("===== All Methods and Executions =====");
// for (String method: allExecutions.keySet()) {
// System.out.println(method + ":" + allExecutions.get(method).size());
// }
/*
* 正しい結果
*
===== All Methods and Executions =====
worstCase.F worstCase.C.getF():1
worstCase.E worstCase.D.getE():1
worstCase.A():1
void worstCase.P.setM(worstCase.M):1
public worstCase.M():1
worstCase.M worstCase.L.getM():1
worstCase.L worstCase.I.getL():1
worstCase.L worstCase.K.getL():1
void worstCase.N.passI(worstCase.I):1
void worstCase.A.m():1
worstCase.F():1
public static void worstCase.main.main(java.lang.String[]):1
worstCase.G():1
void worstCase.O.passL(worstCase.L):1
worstCase.H():1
worstCase.I():1
worstCase.B():1
worstCase.C():1
worstCase.D():1
worstCase.E():1
worstCase.N():1
worstCase.O():1
worstCase.K worstCase.J.getK():1
worstCase.F worstCase.E.getF():1
worstCase.P():1
worstCase.J():1
worstCase.K():1
worstCase.I worstCase.F.getI():1
worstCase.I worstCase.H.getI():1
worstCase.H worstCase.G.getH():1
worstCase.L():1
worstCase.I worstCase.B.getI():1
*/
// System.out.println("===== All Statements Forward =====");
// trace.traverseStatementsInTrace(new IStatementVisitor() {
// @Override
// public boolean preVisitStatement(Statement statement) {
// if (statement instanceof FieldUpdate) {
// if(trace.isNull((((FieldUpdate) statement).getValueObjId()))) {
//
// }
// }
// System.out.println("pre:" + statement.getClass().getName() + ":" + statement.getTimeStamp());
// return false;
// }
// @Override
// public boolean postVisitStatement(Statement statement) {
// System.out.println("post:" + statement.getClass().getName() + ":" + statement.getTimeStamp());
// return false;
// }
// });
/*
* 正しい結果
*
===== All Statements Forward =====
pre:org.ntlab.trace.BlockEnter:1699552992988213
post:org.ntlab.trace.BlockEnter:1699552992988213
pre:org.ntlab.trace.MethodInvocation:1699552993730471
pre:org.ntlab.trace.MethodInvocation:1699552994339441
pre:org.ntlab.trace.MethodInvocation:1699552994979793
pre:org.ntlab.trace.MethodInvocation:1699552995575363
pre:org.ntlab.trace.MethodInvocation:1699552996163881
pre:org.ntlab.trace.MethodInvocation:1699552996774613
pre:org.ntlab.trace.MethodInvocation:1699552997363836
pre:org.ntlab.trace.MethodInvocation:1699552997949532
pre:org.ntlab.trace.MethodInvocation:1699552998548628
pre:org.ntlab.trace.MethodInvocation:1699552999050402
pre:org.ntlab.trace.MethodInvocation:1699552999466490
pre:org.ntlab.trace.MethodInvocation:1699552999875526
pre:org.ntlab.trace.MethodInvocation:1699553000173135
post:org.ntlab.trace.MethodInvocation:1699553000173135
pre:org.ntlab.trace.FieldUpdate:1699553000225322
post:org.ntlab.trace.FieldUpdate:1699553000225322
post:org.ntlab.trace.MethodInvocation:1699552999875526
pre:org.ntlab.trace.FieldUpdate:1699553000259878
post:org.ntlab.trace.FieldUpdate:1699553000259878
post:org.ntlab.trace.MethodInvocation:1699552999466490
pre:org.ntlab.trace.FieldUpdate:1699553000290908
post:org.ntlab.trace.FieldUpdate:1699553000290908
post:org.ntlab.trace.MethodInvocation:1699552999050402
pre:org.ntlab.trace.FieldUpdate:1699553000331107
post:org.ntlab.trace.FieldUpdate:1699553000331107
post:org.ntlab.trace.MethodInvocation:1699552998548628
pre:org.ntlab.trace.FieldUpdate:1699553000376947
post:org.ntlab.trace.FieldUpdate:1699553000376947
post:org.ntlab.trace.MethodInvocation:1699552997949532
pre:org.ntlab.trace.FieldUpdate:1699553000422435
post:org.ntlab.trace.FieldUpdate:1699553000422435
post:org.ntlab.trace.MethodInvocation:1699552997363836
pre:org.ntlab.trace.FieldUpdate:1699553000463691
post:org.ntlab.trace.FieldUpdate:1699553000463691
post:org.ntlab.trace.MethodInvocation:1699552996774613
pre:org.ntlab.trace.FieldUpdate:1699553000508121
post:org.ntlab.trace.FieldUpdate:1699553000508121
post:org.ntlab.trace.MethodInvocation:1699552996163881
pre:org.ntlab.trace.FieldUpdate:1699553000551845
post:org.ntlab.trace.FieldUpdate:1699553000551845
post:org.ntlab.trace.MethodInvocation:1699552995575363
pre:org.ntlab.trace.FieldUpdate:1699553000596627
post:org.ntlab.trace.FieldUpdate:1699553000596627
post:org.ntlab.trace.MethodInvocation:1699552994979793
pre:org.ntlab.trace.FieldUpdate:1699553000640352
post:org.ntlab.trace.FieldUpdate:1699553000640352
post:org.ntlab.trace.MethodInvocation:1699552994339441
pre:org.ntlab.trace.FieldUpdate:1699553000682666
post:org.ntlab.trace.FieldUpdate:1699553000682666
pre:org.ntlab.trace.MethodInvocation:1699553001472175
pre:org.ntlab.trace.MethodInvocation:1699553002201034
pre:org.ntlab.trace.MethodInvocation:1699553003026510
post:org.ntlab.trace.MethodInvocation:1699553003026510
pre:org.ntlab.trace.FieldUpdate:1699553003101618
post:org.ntlab.trace.FieldUpdate:1699553003101618
post:org.ntlab.trace.MethodInvocation:1699553002201034
pre:org.ntlab.trace.FieldUpdate:1699553003149926
post:org.ntlab.trace.FieldUpdate:1699553003149926
post:org.ntlab.trace.MethodInvocation:1699553001472175
pre:org.ntlab.trace.FieldUpdate:1699553003190477
post:org.ntlab.trace.FieldUpdate:1699553003190477
post:org.ntlab.trace.MethodInvocation:1699552993730471
pre:org.ntlab.trace.MethodInvocation:1699553003253243
pre:org.ntlab.trace.BlockEnter:1699553003273695
post:org.ntlab.trace.BlockEnter:1699553003273695
pre:org.ntlab.trace.FieldAccess:1699553003299083
post:org.ntlab.trace.FieldAccess:1699553003299083
pre:org.ntlab.trace.FieldAccess:1699553003355502
post:org.ntlab.trace.FieldAccess:1699553003355502
pre:org.ntlab.trace.MethodInvocation:1699553003386885
pre:org.ntlab.trace.BlockEnter:1699553003400637
post:org.ntlab.trace.BlockEnter:1699553003400637
pre:org.ntlab.trace.FieldAccess:1699553003436956
post:org.ntlab.trace.FieldAccess:1699553003436956
pre:org.ntlab.trace.MethodInvocation:1699553003482444
pre:org.ntlab.trace.BlockEnter:1699553003500427
post:org.ntlab.trace.BlockEnter:1699553003500427
pre:org.ntlab.trace.FieldAccess:1699553003526169
post:org.ntlab.trace.FieldAccess:1699553003526169
pre:org.ntlab.trace.MethodInvocation:1699553003556141
pre:org.ntlab.trace.BlockEnter:1699553003570951
post:org.ntlab.trace.BlockEnter:1699553003570951
pre:org.ntlab.trace.FieldAccess:1699553003599513
post:org.ntlab.trace.FieldAccess:1699553003599513
post:org.ntlab.trace.MethodInvocation:1699553003556141
pre:org.ntlab.trace.MethodInvocation:1699553003668273
pre:org.ntlab.trace.BlockEnter:1699553003688020
post:org.ntlab.trace.BlockEnter:1699553003688020
pre:org.ntlab.trace.FieldAccess:1699553003715876
post:org.ntlab.trace.FieldAccess:1699553003715876
post:org.ntlab.trace.MethodInvocation:1699553003668273
post:org.ntlab.trace.MethodInvocation:1699553003482444
pre:org.ntlab.trace.MethodInvocation:1699553003805088
pre:org.ntlab.trace.BlockEnter:1699553003818135
post:org.ntlab.trace.BlockEnter:1699553003818135
pre:org.ntlab.trace.FieldAccess:1699553003846345
post:org.ntlab.trace.FieldAccess:1699553003846345
pre:org.ntlab.trace.MethodInvocation:1699553003896769
pre:org.ntlab.trace.BlockEnter:1699553003912989
post:org.ntlab.trace.BlockEnter:1699553003912989
pre:org.ntlab.trace.FieldAccess:1699553003944020
post:org.ntlab.trace.FieldAccess:1699553003944020
post:org.ntlab.trace.MethodInvocation:1699553003896769
pre:org.ntlab.trace.MethodInvocation:1699553004012075
pre:org.ntlab.trace.BlockEnter:1699553004029706
post:org.ntlab.trace.BlockEnter:1699553004029706
pre:org.ntlab.trace.FieldAccess:1699553004082951
post:org.ntlab.trace.FieldAccess:1699553004082951
post:org.ntlab.trace.MethodInvocation:1699553004012075
post:org.ntlab.trace.MethodInvocation:1699553003805088
post:org.ntlab.trace.MethodInvocation:1699553003386885
pre:org.ntlab.trace.MethodInvocation:1699553004208835
pre:org.ntlab.trace.BlockEnter:1699553004228229
post:org.ntlab.trace.BlockEnter:1699553004228229
pre:org.ntlab.trace.FieldAccess:1699553004257849
post:org.ntlab.trace.FieldAccess:1699553004257849
pre:org.ntlab.trace.MethodInvocation:1699553004302631
pre:org.ntlab.trace.BlockEnter:1699553004326962
post:org.ntlab.trace.BlockEnter:1699553004326962
pre:org.ntlab.trace.FieldAccess:1699553004373507
post:org.ntlab.trace.FieldAccess:1699553004373507
pre:org.ntlab.trace.MethodInvocation:1699553004418995
pre:org.ntlab.trace.BlockEnter:1699553004434510
post:org.ntlab.trace.BlockEnter:1699553004434510
pre:org.ntlab.trace.FieldAccess:1699553004461661
post:org.ntlab.trace.FieldAccess:1699553004461661
post:org.ntlab.trace.MethodInvocation:1699553004418995
pre:org.ntlab.trace.MethodInvocation:1699553004515964
pre:org.ntlab.trace.BlockEnter:1699553004526543
post:org.ntlab.trace.BlockEnter:1699553004526543
pre:org.ntlab.trace.FieldAccess:1699553004546994
post:org.ntlab.trace.FieldAccess:1699553004546994
post:org.ntlab.trace.MethodInvocation:1699553004515964
post:org.ntlab.trace.MethodInvocation:1699553004302631
pre:org.ntlab.trace.MethodInvocation:1699553004606587
pre:org.ntlab.trace.BlockEnter:1699553004615402
post:org.ntlab.trace.BlockEnter:1699553004615402
pre:org.ntlab.trace.FieldAccess:1699553004629507
post:org.ntlab.trace.FieldAccess:1699553004629507
pre:org.ntlab.trace.MethodInvocation:1699553004648195
pre:org.ntlab.trace.BlockEnter:1699553004655953
post:org.ntlab.trace.BlockEnter:1699553004655953
pre:org.ntlab.trace.FieldAccess:1699553004670763
post:org.ntlab.trace.FieldAccess:1699553004670763
post:org.ntlab.trace.MethodInvocation:1699553004648195
pre:org.ntlab.trace.MethodInvocation:1699553004703556
pre:org.ntlab.trace.BlockEnter:1699553004712019
post:org.ntlab.trace.BlockEnter:1699553004712019
pre:org.ntlab.trace.FieldUpdate:1699553004728240
post:org.ntlab.trace.FieldUpdate:1699553004728240
post:org.ntlab.trace.MethodInvocation:1699553004703556
post:org.ntlab.trace.MethodInvocation:1699553004606587
post:org.ntlab.trace.MethodInvocation:1699553004208835
post:org.ntlab.trace.MethodInvocation:1699553003253243
*/
// Change!
// System.out.println("===== All Statements Backward =====");
// TracePoint tp = null;
// DeltaAliasCollector dac = new DeltaAliasCollector();
// long restart = 0L;
// for(;;) {
// tp = trace.traverseStatementsInTraceBackward(new IStatementVisitor() {
// @Override
// public boolean preVisitStatement(Statement statement) {
// System.out.println("pre:" + statement.getThreadNo() + ":" + statement.getTimeStamp());
// if(statement instanceof FieldUpdate) {
// FieldUpdate fu = (FieldUpdate) statement;
// if(!Trace.isNull(fu.getValueObjId()) && !Trace.isPrimitive(fu.getValueClassName())) {
// return true;
// }
// }
// return false;
// }
//
// @Override
// public boolean postVisitStatement(Statement statement) {
// System.out.println("post:" + statement.getThreadNo() + ":" + statement.getTimeStamp());
// return false;
// }
// }, restart);
// if(tp == null || !tp.isValid()) break;
// dex.extract(tp, dac);
// Statement statement = tp.getStatement();
// if(statement instanceof MethodInvocation) {
// restart = ((MethodInvocation)tp.getStatement()).getCalledMethodExecution().getExitTime();
// } else {
// restart = tp.getStatement().getTimeStamp();
// }
// }
// trace.traverseStatementsInTraceBackward(new IStatementVisitor() {
// @Override
// public boolean preVisitStatement(Statement statement) {
// System.out.println("post:" + statement.getClass().getName() + ":" + statement.getTimeStamp());
// return false;
// }
// @Override
// public boolean postVisitStatement(Statement statement) {
// System.out.println("pre:" + statement.getClass().getName() + ":" + statement.getTimeStamp());
// return false;
// }
// });
}
private static void traverseMethodExecution(MethodExecution m) {
System.out.println(m.getSignature());
for(Statement ms :m.getStatements()) {
if(ms instanceof FieldAccess) {
System.out.println(((FieldAccess)ms).getFieldName());
}
}
for(MethodExecution m2: m.getChildren()) {
traverseMethodExecution(m2);
}
}
/*
* 正しい結果
*
===== All Statements Backward =====
post:org.ntlab.trace.MethodInvocation:1699553003253243
post:org.ntlab.trace.MethodInvocation:1699553004208835
post:org.ntlab.trace.MethodInvocation:1699553004606587
post:org.ntlab.trace.MethodInvocation:1699553004703556
post:org.ntlab.trace.FieldUpdate:1699553004728240
pre:org.ntlab.trace.FieldUpdate:1699553004728240
post:org.ntlab.trace.BlockEnter:1699553004712019
pre:org.ntlab.trace.BlockEnter:1699553004712019
pre:org.ntlab.trace.MethodInvocation:1699553004703556
post:org.ntlab.trace.MethodInvocation:1699553004648195
post:org.ntlab.trace.FieldAccess:1699553004670763
pre:org.ntlab.trace.FieldAccess:1699553004670763
post:org.ntlab.trace.BlockEnter:1699553004655953
pre:org.ntlab.trace.BlockEnter:1699553004655953
pre:org.ntlab.trace.MethodInvocation:1699553004648195
post:org.ntlab.trace.FieldAccess:1699553004629507
pre:org.ntlab.trace.FieldAccess:1699553004629507
post:org.ntlab.trace.BlockEnter:1699553004615402
pre:org.ntlab.trace.BlockEnter:1699553004615402
pre:org.ntlab.trace.MethodInvocation:1699553004606587
post:org.ntlab.trace.MethodInvocation:1699553004302631
post:org.ntlab.trace.MethodInvocation:1699553004515964
post:org.ntlab.trace.FieldAccess:1699553004546994
pre:org.ntlab.trace.FieldAccess:1699553004546994
post:org.ntlab.trace.BlockEnter:1699553004526543
pre:org.ntlab.trace.BlockEnter:1699553004526543
pre:org.ntlab.trace.MethodInvocation:1699553004515964
post:org.ntlab.trace.MethodInvocation:1699553004418995
post:org.ntlab.trace.FieldAccess:1699553004461661
pre:org.ntlab.trace.FieldAccess:1699553004461661
post:org.ntlab.trace.BlockEnter:1699553004434510
pre:org.ntlab.trace.BlockEnter:1699553004434510
pre:org.ntlab.trace.MethodInvocation:1699553004418995
post:org.ntlab.trace.FieldAccess:1699553004373507
pre:org.ntlab.trace.FieldAccess:1699553004373507
post:org.ntlab.trace.BlockEnter:1699553004326962
pre:org.ntlab.trace.BlockEnter:1699553004326962
pre:org.ntlab.trace.MethodInvocation:1699553004302631
post:org.ntlab.trace.FieldAccess:1699553004257849
pre:org.ntlab.trace.FieldAccess:1699553004257849
post:org.ntlab.trace.BlockEnter:1699553004228229
pre:org.ntlab.trace.BlockEnter:1699553004228229
pre:org.ntlab.trace.MethodInvocation:1699553004208835
post:org.ntlab.trace.MethodInvocation:1699553003386885
post:org.ntlab.trace.MethodInvocation:1699553003805088
post:org.ntlab.trace.MethodInvocation:1699553004012075
post:org.ntlab.trace.FieldAccess:1699553004082951
pre:org.ntlab.trace.FieldAccess:1699553004082951
post:org.ntlab.trace.BlockEnter:1699553004029706
pre:org.ntlab.trace.BlockEnter:1699553004029706
pre:org.ntlab.trace.MethodInvocation:1699553004012075
post:org.ntlab.trace.MethodInvocation:1699553003896769
post:org.ntlab.trace.FieldAccess:1699553003944020
pre:org.ntlab.trace.FieldAccess:1699553003944020
post:org.ntlab.trace.BlockEnter:1699553003912989
pre:org.ntlab.trace.BlockEnter:1699553003912989
pre:org.ntlab.trace.MethodInvocation:1699553003896769
post:org.ntlab.trace.FieldAccess:1699553003846345
pre:org.ntlab.trace.FieldAccess:1699553003846345
post:org.ntlab.trace.BlockEnter:1699553003818135
pre:org.ntlab.trace.BlockEnter:1699553003818135
pre:org.ntlab.trace.MethodInvocation:1699553003805088
post:org.ntlab.trace.MethodInvocation:1699553003482444
post:org.ntlab.trace.MethodInvocation:1699553003668273
post:org.ntlab.trace.FieldAccess:1699553003715876
pre:org.ntlab.trace.FieldAccess:1699553003715876
post:org.ntlab.trace.BlockEnter:1699553003688020
pre:org.ntlab.trace.BlockEnter:1699553003688020
pre:org.ntlab.trace.MethodInvocation:1699553003668273
post:org.ntlab.trace.MethodInvocation:1699553003556141
post:org.ntlab.trace.FieldAccess:1699553003599513
pre:org.ntlab.trace.FieldAccess:1699553003599513
post:org.ntlab.trace.BlockEnter:1699553003570951
pre:org.ntlab.trace.BlockEnter:1699553003570951
pre:org.ntlab.trace.MethodInvocation:1699553003556141
post:org.ntlab.trace.FieldAccess:1699553003526169
pre:org.ntlab.trace.FieldAccess:1699553003526169
post:org.ntlab.trace.BlockEnter:1699553003500427
pre:org.ntlab.trace.BlockEnter:1699553003500427
pre:org.ntlab.trace.MethodInvocation:1699553003482444
post:org.ntlab.trace.FieldAccess:1699553003436956
pre:org.ntlab.trace.FieldAccess:1699553003436956
post:org.ntlab.trace.BlockEnter:1699553003400637
pre:org.ntlab.trace.BlockEnter:1699553003400637
pre:org.ntlab.trace.MethodInvocation:1699553003386885
post:org.ntlab.trace.FieldAccess:1699553003355502
pre:org.ntlab.trace.FieldAccess:1699553003355502
post:org.ntlab.trace.FieldAccess:1699553003299083
pre:org.ntlab.trace.FieldAccess:1699553003299083
post:org.ntlab.trace.BlockEnter:1699553003273695
pre:org.ntlab.trace.BlockEnter:1699553003273695
pre:org.ntlab.trace.MethodInvocation:1699553003253243
post:org.ntlab.trace.MethodInvocation:1699552993730471
post:org.ntlab.trace.FieldUpdate:1699553003190477
pre:org.ntlab.trace.FieldUpdate:1699553003190477
post:org.ntlab.trace.MethodInvocation:1699553001472175
post:org.ntlab.trace.FieldUpdate:1699553003149926
pre:org.ntlab.trace.FieldUpdate:1699553003149926
post:org.ntlab.trace.MethodInvocation:1699553002201034
post:org.ntlab.trace.FieldUpdate:1699553003101618
pre:org.ntlab.trace.FieldUpdate:1699553003101618
post:org.ntlab.trace.MethodInvocation:1699553003026510
pre:org.ntlab.trace.MethodInvocation:1699553003026510
pre:org.ntlab.trace.MethodInvocation:1699553002201034
pre:org.ntlab.trace.MethodInvocation:1699553001472175
post:org.ntlab.trace.FieldUpdate:1699553000682666
pre:org.ntlab.trace.FieldUpdate:1699553000682666
post:org.ntlab.trace.MethodInvocation:1699552994339441
post:org.ntlab.trace.FieldUpdate:1699553000640352
pre:org.ntlab.trace.FieldUpdate:1699553000640352
post:org.ntlab.trace.MethodInvocation:1699552994979793
post:org.ntlab.trace.FieldUpdate:1699553000596627
pre:org.ntlab.trace.FieldUpdate:1699553000596627
post:org.ntlab.trace.MethodInvocation:1699552995575363
post:org.ntlab.trace.FieldUpdate:1699553000551845
pre:org.ntlab.trace.FieldUpdate:1699553000551845
post:org.ntlab.trace.MethodInvocation:1699552996163881
post:org.ntlab.trace.FieldUpdate:1699553000508121
pre:org.ntlab.trace.FieldUpdate:1699553000508121
post:org.ntlab.trace.MethodInvocation:1699552996774613
post:org.ntlab.trace.FieldUpdate:1699553000463691
pre:org.ntlab.trace.FieldUpdate:1699553000463691
post:org.ntlab.trace.MethodInvocation:1699552997363836
post:org.ntlab.trace.FieldUpdate:1699553000422435
pre:org.ntlab.trace.FieldUpdate:1699553000422435
post:org.ntlab.trace.MethodInvocation:1699552997949532
post:org.ntlab.trace.FieldUpdate:1699553000376947
pre:org.ntlab.trace.FieldUpdate:1699553000376947
post:org.ntlab.trace.MethodInvocation:1699552998548628
post:org.ntlab.trace.FieldUpdate:1699553000331107
pre:org.ntlab.trace.FieldUpdate:1699553000331107
post:org.ntlab.trace.MethodInvocation:1699552999050402
post:org.ntlab.trace.FieldUpdate:1699553000290908
pre:org.ntlab.trace.FieldUpdate:1699553000290908
post:org.ntlab.trace.MethodInvocation:1699552999466490
post:org.ntlab.trace.FieldUpdate:1699553000259878
pre:org.ntlab.trace.FieldUpdate:1699553000259878
post:org.ntlab.trace.MethodInvocation:1699552999875526
post:org.ntlab.trace.FieldUpdate:1699553000225322
pre:org.ntlab.trace.FieldUpdate:1699553000225322
post:org.ntlab.trace.MethodInvocation:1699553000173135
pre:org.ntlab.trace.MethodInvocation:1699553000173135
pre:org.ntlab.trace.MethodInvocation:1699552999875526
pre:org.ntlab.trace.MethodInvocation:1699552999466490
pre:org.ntlab.trace.MethodInvocation:1699552999050402
pre:org.ntlab.trace.MethodInvocation:1699552998548628
pre:org.ntlab.trace.MethodInvocation:1699552997949532
pre:org.ntlab.trace.MethodInvocation:1699552997363836
pre:org.ntlab.trace.MethodInvocation:1699552996774613
pre:org.ntlab.trace.MethodInvocation:1699552996163881
pre:org.ntlab.trace.MethodInvocation:1699552995575363
pre:org.ntlab.trace.MethodInvocation:1699552994979793
pre:org.ntlab.trace.MethodInvocation:1699552994339441
pre:org.ntlab.trace.MethodInvocation:1699552993730471
post:org.ntlab.trace.BlockEnter:1699552992988213
pre:org.ntlab.trace.BlockEnter:1699552992988213
*/
}