diff --git a/TracerOnJavassist/src/tracer/ITraceGenerator.java b/TracerOnJavassist/src/tracer/ITraceGenerator.java index fb25890..8695f5b 100644 --- a/TracerOnJavassist/src/tracer/ITraceGenerator.java +++ b/TracerOnJavassist/src/tracer/ITraceGenerator.java @@ -16,13 +16,13 @@ public abstract String generateReplaceStatementsForFieldSet( String fieldName, String containerClass, String containerObject, String valueClass, String valueObject, - String threadId, String timeStamp); + String threadId, String lineNum, String timeStamp); public abstract String generateReplaceStatementsForFieldGet( String fieldName, String thisClass, String thisObject, String containerClass, String containerObject, String valueClass, String valueObject, - String threadId, String timeStamp); + String threadId, String lineNum, String timeStamp); public abstract String generateInsertBeforeStatements( CtBehavior m, String methodSignature, @@ -37,11 +37,15 @@ String threadId, String timeStamp, boolean isCallerSideInstrumentation); + public abstract String generateInsertStatementsForCall( + CtBehavior m, String lineNum, String threadId); + public abstract String generateReplaceStatementsForNewArray( String arrayClass, String arrayObject, String dimension, - String threadId, String timeStamp); + String threadId, String lineNum, String timeStamp); public abstract String generateInsertStatementsForBlockEntry( CtMethod m, String blockId, String incomings, - String threadId, String timeStamp); + String threadId, String lineNum, String timeStamp); + } diff --git a/TracerOnJavassist/src/tracer/JSONArrayAdvisor.java b/TracerOnJavassist/src/tracer/JSONArrayAdvisor.java index 3fa0c4b..3608896 100644 --- a/TracerOnJavassist/src/tracer/JSONArrayAdvisor.java +++ b/TracerOnJavassist/src/tracer/JSONArrayAdvisor.java @@ -9,90 +9,122 @@ */ public class JSONArrayAdvisor { public static void arrayWriteInt(Object array, int index, int value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "int", Integer.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "int", Integer.toString(value), threadId, timeStamp); ((int [])array)[index] = value; } public static int arrayReadInt(Object array, int index) { int value = ((int [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "int", Integer.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "int", Integer.toString(value), threadId, timeStamp); return value; } public static void arrayWriteLong(Object array, int index, long value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "long", Long.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "long", Long.toString(value), threadId, timeStamp); ((long [])array)[index] = value; } public static long arrayReadLong(Object array, int index) { long value = ((long [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "long", Long.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "long", Long.toString(value), threadId, timeStamp); return value; } public static void arrayWriteFloat(Object array, int index, float value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "float", Float.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "float", Float.toString(value), threadId, timeStamp); ((float [])array)[index] = value; } public static float arrayReadFloat(Object array, int index) { float value = ((float [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "float", Float.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "float", Float.toString(value), threadId, timeStamp); return value; } public static void arrayWriteDouble(Object array, int index, double value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "double", Double.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "double", Double.toString(value), threadId, timeStamp); ((double [])array)[index] = value; } public static double arrayReadDouble(Object array, int index) { double value = ((double [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "double", Double.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "double", Double.toString(value), threadId, timeStamp); return value; } public static void arrayWriteShort(Object array, int index, short value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "short", Short.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "short", Short.toString(value), threadId, timeStamp); ((short [])array)[index] = value; } public static short arrayReadShort(Object array, int index) { short value = ((short [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "short", Short.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "short", Short.toString(value), threadId, timeStamp); return value; } public static void arrayWriteChar(Object array, int index, char value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "char", Character.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "char", Character.toString(value), threadId, timeStamp); ((char [])array)[index] = value; } public static char arrayReadChar(Object array, int index) { char value = ((char [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "char", Character.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "char", Character.toString(value), threadId, timeStamp); return value; } public static void arrayWriteByteOrBoolean(Object array, int index, byte value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "byte", Byte.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "byte", Byte.toString(value), threadId, timeStamp); ((byte [])array)[index] = value; } public static byte arrayReadByteOrBoolean(Object array, int index) { byte value = ((byte [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "byte", Byte.toString(value)); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, "byte", Byte.toString(value), threadId, timeStamp); return value; } public static void arrayWriteObject(Object array, int index, Object value) { - JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, value.getClass().getName(), Integer.toString(System.identityHashCode(value))); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arraySetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, value.getClass().getName(), Integer.toString(System.identityHashCode(value)), threadId, timeStamp); ((Object [])array)[index] = value; } public static Object arrayReadObject(Object array, int index) { Object value = ((Object [])array)[index]; - JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, value.getClass().getName(), Integer.toString(System.identityHashCode(value))); + long threadId = Thread.currentThread().getId(); + long timeStamp = System.nanoTime(); + JSONTraceGenerator.arrayGetOutput(array.getClass().getName(), Integer.toString(System.identityHashCode(array)), index, value.getClass().getName(), Integer.toString(System.identityHashCode(value)), threadId, timeStamp); return value; } } diff --git a/TracerOnJavassist/src/tracer/JSONTraceGenerator.java b/TracerOnJavassist/src/tracer/JSONTraceGenerator.java index d6deebd..f9f0f65 100644 --- a/TracerOnJavassist/src/tracer/JSONTraceGenerator.java +++ b/TracerOnJavassist/src/tracer/JSONTraceGenerator.java @@ -21,7 +21,7 @@ public String generateReplaceStatementsForFieldSet( String fieldName, String containerClass, String containerObject, String valueClass, String valueObject, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { ArrayList keys = new ArrayList<>(); ArrayList values = new ArrayList<>(); keys.add("type"); values.add(DQ_GEN + " + \"fieldSet\" + " + DQ_GEN); @@ -29,6 +29,7 @@ keys.add("container"); values.add(generateJSONObjectGenerator(containerClass, containerObject)); keys.add("value"); values.add(generateJSONObjectGenerator(valueClass, valueObject)); keys.add("threadId"); values.add(threadId); + keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$proceed($$); " + "tracer.MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; @@ -39,7 +40,7 @@ String fieldName, String thisClass, String thisObject, String containerClass, String containerObject, String valueClass, String valueObject, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { ArrayList keys = new ArrayList<>(); ArrayList values = new ArrayList<>(); keys.add("type"); values.add(DQ_GEN + " + \"fieldGet\" + " + DQ_GEN); @@ -48,6 +49,7 @@ keys.add("container"); values.add(generateJSONObjectGenerator(containerClass, containerObject)); keys.add("value"); values.add(generateJSONObjectGenerator(valueClass, valueObject)); keys.add("threadId"); values.add(threadId); + keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$_ = $proceed(); " + "tracer.MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; @@ -57,13 +59,14 @@ @Override public String generateReplaceStatementsForNewArray( String arrayClass, String arrayObject, String dimension, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { ArrayList keys = new ArrayList<>(); ArrayList values = new ArrayList<>(); keys.add("type"); values.add(DQ_GEN + " + \"arrayCreate\" + " + DQ_GEN); keys.add("array"); values.add(generateJSONObjectGenerator(arrayClass, arrayObject)); keys.add("dimension"); values.add(dimension); keys.add("threadId"); values.add(threadId); + keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "$_ = $proceed($$); " + "tracer.MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; @@ -121,9 +124,20 @@ } @Override + public String generateInsertStatementsForCall(CtBehavior m, String lineNum, String threadId) { + ArrayList keys = new ArrayList<>(); + ArrayList values = new ArrayList<>(); + keys.add("type"); values.add(DQ_GEN + " + \"methodCall\" + " + DQ_GEN); + keys.add("callerSideSignature"); values.add(DQ_GEN + " + \"" + m.getLongName().replace('$', '.') + "\" + " + DQ_GEN); // AspectJ�ł̓��\�b�h�V�O�j�`�����ł͖����N���X�̓h�b�g�ŋ�؂��� + keys.add("threadId"); values.add(threadId); + keys.add("lineNum"); values.add(lineNum); + return "tracer.MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; + } + + @Override public String generateInsertStatementsForBlockEntry( CtMethod m, String blockId, String incomings, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { ArrayList keys = new ArrayList<>(); ArrayList values = new ArrayList<>(); keys.add("type"); values.add(DQ_GEN + " + \"blockEntry\" + " + DQ_GEN); @@ -133,6 +147,7 @@ // keys.add("blockLen"); values.add(blockLen); keys.add("incomings"); values.add(incomings); keys.add("threadId"); values.add(threadId); + keys.add("lineNum"); values.add(lineNum); keys.add("time"); values.add(timeStamp); return "tracer.MyPrintStream.println(" + generateJSONMapGenerator(keys, values) + " + \",\");"; } @@ -166,23 +181,27 @@ return arrayJSON; } - public static void arraySetOutput(String arrayType, String arrayId, int index, String valueType, String valueId) { + public static void arraySetOutput(String arrayType, String arrayId, int index, String valueType, String valueId, long threadId, long timeStamp) { ArrayList keys = new ArrayList(); ArrayList values = new ArrayList(); keys.add("type"); values.add("\"arraySet\""); keys.add("array"); values.add(generateJSONObjectOutput(arrayType, arrayId)); keys.add("index"); values.add(Integer.toString(index)); keys.add("value"); values.add(generateJSONObjectOutput(valueType, valueId)); + keys.add("threadId"); values.add(Long.toString(threadId)); + keys.add("time"); values.add(Long.toString(timeStamp)); MyPrintStream.println(generateJSONMapOutput(keys, values) + ","); } - public static void arrayGetOutput(String arrayType, String arrayId, int index, String valueType, String valueId) { + public static void arrayGetOutput(String arrayType, String arrayId, int index, String valueType, String valueId, long threadId, long timeStamp) { ArrayList keys = new ArrayList(); ArrayList values = new ArrayList(); keys.add("type"); values.add("\"arrayGet\""); keys.add("array"); values.add(generateJSONObjectOutput(arrayType, arrayId)); keys.add("index"); values.add(Integer.toString(index)); keys.add("value"); values.add(generateJSONObjectOutput(valueType, valueId)); + keys.add("threadId"); values.add(Long.toString(threadId)); + keys.add("time"); values.add(Long.toString(timeStamp)); MyPrintStream.println(generateJSONMapOutput(keys, values) + ","); } diff --git a/TracerOnJavassist/src/tracer/OutputStatementsGenerator.java b/TracerOnJavassist/src/tracer/OutputStatementsGenerator.java index c9a92de..c542217 100644 --- a/TracerOnJavassist/src/tracer/OutputStatementsGenerator.java +++ b/TracerOnJavassist/src/tracer/OutputStatementsGenerator.java @@ -29,18 +29,19 @@ return generator; } - public String generateReplaceStatementsForFieldSet(CtClass cc, FieldAccess f) { + public String generateReplaceStatementsForFieldSet(CtClass cc, FieldAccess f, int line) { String fieldName = "\"" + f.getClassName() + "." + f.getFieldName() + "\""; String containerClass = "(($0 != null)?$0.getClass().getName():\"" + cc.getName() + "\")"; String containerObject = "(($0 != null)?System.identityHashCode($0):0)"; String valueClass = "(($1 != null)?$1.getClass().getName():\"---\")"; String valueObject = "(($1 != null)?System.identityHashCode($1):0)"; String threadId = "Thread.currentThread().getId()"; + String lineNum = "\"" + line + "\""; String timeStamp = "System.nanoTime()"; - return generator.generateReplaceStatementsForFieldSet(fieldName, containerClass, containerObject, valueClass, valueObject, threadId, timeStamp); + return generator.generateReplaceStatementsForFieldSet(fieldName, containerClass, containerObject, valueClass, valueObject, threadId, lineNum, timeStamp); } - public String generateReplaceStatementsForFieldGet(CtClass cc, CtBehavior m, FieldAccess f) { + public String generateReplaceStatementsForFieldGet(CtClass cc, CtBehavior m, FieldAccess f, int line) { String fieldName = "\"" + f.getClassName() + "." + f.getFieldName() + "\""; String thisClass; String thisObject; @@ -57,24 +58,32 @@ String valueClass = "(($_ != null)?$_.getClass().getName():\"---\")"; String valueObject = "(($_ != null)?System.identityHashCode($_):0)"; String threadId = "Thread.currentThread().getId()"; + String lineNum = "\"" + line + "\""; String timeStamp = "System.nanoTime()"; - return generator.generateReplaceStatementsForFieldGet(fieldName, thisClass, thisObject, containerClass, containerObject, valueClass, valueObject, threadId, timeStamp); + return generator.generateReplaceStatementsForFieldGet(fieldName, thisClass, thisObject, containerClass, containerObject, valueClass, valueObject, threadId, lineNum, timeStamp); } - public String generateReplaceStatementsForNewArray(NewArray a) { + public String generateReplaceStatementsForNewArray(NewArray a, int line) { String arrayClass = "(($_ != null)?$_.getClass().getName():\"---\")"; String arrayObject = "(($_ != null)?System.identityHashCode($_):0)"; String dimension = "\"" + Integer.toString(a.getDimension()) + "\""; String threadId = "Thread.currentThread().getId()"; + String lineNum = "\"" + line + "\""; String timeStamp = "System.nanoTime()"; - return generator.generateReplaceStatementsForNewArray(arrayClass, arrayObject, dimension, threadId, timeStamp); + return generator.generateReplaceStatementsForNewArray(arrayClass, arrayObject, dimension, threadId, lineNum, timeStamp); } - public String generateReplaceStatementsForCall(CtClass cls, CtBehavior m) throws NotFoundException { - return "{" + generateInsertBeforeStatements(cls, m, true) + " $_ = $proceed($$); " + generateInsertAfterStatements(cls, m, true) + "}"; + public String generateReplaceStatementsForCall(CtClass cls, CtBehavior m, int line, boolean canManipulateCalledMethod) throws NotFoundException { + if (canManipulateCalledMethod) { + // �Ăяo����ɖ��ߍ��ނ��Ƃ��ł���ꍇ + return generateInsertStatementsForCall(cls, m, line) + " $_ = $proceed($$);"; + } else { + // �Ăяo����ɖ��ߍ��ނ��Ƃ��ł��Ȃ��ꍇ + return generateInsertStatementsForCall(cls, m, line) + generateInsertBeforeStatements(cls, m, true) + " $_ = $proceed($$); " + generateInsertAfterStatements(cls, m, true); + } } - + public String generateInsertBeforeStatementsForMethodBody(CtClass cls, CtBehavior m) throws NotFoundException { return "{" + generateInsertBeforeStatements(cls, m, false) + "}"; } @@ -82,7 +91,7 @@ public String generateInsertAfterStatementsForMethodBody(CtClass cls, CtBehavior m) throws NotFoundException { return "{" + generateInsertAfterStatements(cls, m, false) + "}"; } - + /** * �g���[�X�o�͗p�̖��ߗ�𐶐����� * @param cls �ΏۃN���X @@ -226,14 +235,21 @@ String timeStamp = "System.nanoTime()"; return generator.generateInsertAfterStatements(cls, m, thisClass, thisObject, returnedClass, returnedObject, threadId, timeStamp, isCallerSideInstrumentation); } + + private String generateInsertStatementsForCall(CtClass cls, CtBehavior m, int line) { + String lineNum = "\"" + line + "\""; + String threadId = "Thread.currentThread().getId()"; + return generator.generateInsertStatementsForCall(m, lineNum, threadId); + } - public String generateInsertStatementsForBlockEntry(CtMethod m, int id, Block block) { + public String generateInsertStatementsForBlockEntry(CtMethod m, int id, Block block, int line) { String blockId = "\"" + id + "\""; // String blockPos = "\"" + block.position() + "\""; // String blockLen = "\"" + block.length() + "\""; String incomings = "\"" + block.incomings() + "\""; String threadId = "Thread.currentThread().getId()"; + String lineNum = "\"" + line + "\""; String timeStamp = "System.nanoTime()"; - return generator.generateInsertStatementsForBlockEntry(m, blockId, incomings, threadId, timeStamp); + return generator.generateInsertStatementsForBlockEntry(m, blockId, incomings, threadId, lineNum, timeStamp); } } diff --git a/TracerOnJavassist/src/tracer/PlainTextTraceGenerator.java b/TracerOnJavassist/src/tracer/PlainTextTraceGenerator.java index abf4b05..f3d3aff 100644 --- a/TracerOnJavassist/src/tracer/PlainTextTraceGenerator.java +++ b/TracerOnJavassist/src/tracer/PlainTextTraceGenerator.java @@ -19,7 +19,7 @@ @Override public String generateReplaceStatementsForFieldSet( String fieldName, String containerClass, String containerObject, - String valueClass, String valueObject, String threadId, String timeStamp) { + String valueClass, String valueObject, String threadId, String lineNum, String timeStamp) { return "$proceed($$); " + "tracer.MyPrintStream.println(\"set:\" + " + containerClass + " + \":\" + " + containerObject + " + \":\" + " + valueClass + " + \":\" + " + valueObject + " + " + LINE_AND_THREAD + threadId + ");"; @@ -28,7 +28,7 @@ @Override public String generateReplaceStatementsForFieldGet( String fieldName, String thisClass, String thisObject, String containerClass, String containerObject, - String valueClass, String valueObject, String threadId, String timeStamp) { + String valueClass, String valueObject, String threadId, String lineNum, String timeStamp) { return "$_ = $proceed(); " + "tracer.MyPrintStream.println(\"get:\" + " + thisClass + " + \":\" + " + thisObject + " + \":\" + " + containerClass + " + \":\" + " + containerObject + " + \":\" + " + @@ -38,7 +38,7 @@ @Override public String generateReplaceStatementsForNewArray( String arrayClass, String arrayObject, String dimension, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { return "$_ = $proceed($$);"; } @@ -101,9 +101,15 @@ } @Override + public String generateInsertStatementsForCall(CtBehavior m, String lineNum, + String threadId) { + return ""; + } + + @Override public String generateInsertStatementsForBlockEntry( CtMethod m, String blockId, String incomings, - String threadId, String timeStamp) { + String threadId, String lineNum, String timeStamp) { return ""; } } diff --git a/TracerOnJavassist/src/tracer/Tracer.java b/TracerOnJavassist/src/tracer/Tracer.java index 9f085af..1305c2c 100644 --- a/TracerOnJavassist/src/tracer/Tracer.java +++ b/TracerOnJavassist/src/tracer/Tracer.java @@ -34,12 +34,14 @@ private static final String STANDARD_CLASSES = "java.util.ListIterator|java.util.Iterator|java.util.List|java.util.Vector|java.util.ArrayList|java.util.Stack|java.util.Map|java.util.HashMap|java.util.Set|java.util.HashSet|java.util.Hashtable|java.util.LinkedList|java.lang.Thread"; private static final String CONCRETE_STANDARD_CLASSES = "java.util.Vector|java.util.ArrayList|java.util.Stack |java.util.HashMap|java.util.HashSet|java.util.Hashtable|java.util.LinkedList|java.lang.Thread"; private static final String EXCEPT_FOR_METHODS = "java.lang.Thread.currentThread..|java.lang.Thread.getId.."; + private static final String STANDARD_LIB = "java."; + private static final String TRACER = "tracer."; private static OutputStatementsGenerator outputStatementsGenerator = null; private static CodeConverter conv = new CodeConverter(); public static void main(String[] args) { outputStatementsGenerator = new OutputStatementsGenerator(new JSONTraceGenerator()); // �����ŏo�̓t�H�[�}�b�g���w�肷�� - String packageName = "arraySample"; // �w�肵���p�b�P�[�W�����̑S�N���X�ɃC���X�g�D�������e�[�V�������s�� + String packageName = "worstCase"; // �w�肵���p�b�P�[�W�����̑S�N���X�ɃC���X�g�D�������e�[�V�������s�� ClassLoader loader = Thread.currentThread().getContextClassLoader(); URL resource = loader.getResource(packageName); @@ -104,7 +106,7 @@ blocks = cf.basicBlocks(); for (int i = blocks.length - 1; i >= 0; i--) { int blockPos = m.getMethodInfo().getLineNumber(blocks[i].position()); - m.insertAt(blockPos, outputStatementsGenerator.generateInsertStatementsForBlockEntry((CtMethod)m, i, blocks[i])); + m.insertAt(blockPos, outputStatementsGenerator.generateInsertStatementsForBlockEntry((CtMethod)m, i, blocks[i], blockPos)); } } @@ -113,19 +115,24 @@ public void edit(FieldAccess f) throws CannotCompileException { if (f.isReader()) { if (!f.getFieldName().contains("$")) { // AspectJ�ł� final local �ϐ�����̃Q�b�g�͖��������̂ŁA����ɍ��킹�ď��O���� - f.replace(outputStatementsGenerator.generateReplaceStatementsForFieldGet(cc, m, f)); + f.replace(outputStatementsGenerator.generateReplaceStatementsForFieldGet(cc, m, f, f.getLineNumber())); } } else { if (!f.getFieldName().contains("$")) { // ���̏������Ȃ��ƂȂ���������i�����t�B�[���h?�ւ̃Z�b�g�������āA������E���ė����Ă�?�j - f.replace(outputStatementsGenerator.generateReplaceStatementsForFieldSet(cc, f)); + f.replace(outputStatementsGenerator.generateReplaceStatementsForFieldSet(cc, f, f.getLineNumber())); } } } public void edit(MethodCall c) throws CannotCompileException { try { CtMethod m = c.getMethod(); - if (m.getDeclaringClass().getName().matches(STANDARD_CLASSES) && !m.getLongName().matches(EXCEPT_FOR_METHODS)) { - c.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m)); + String className = m.getDeclaringClass().getName(); + if (!className.startsWith(STANDARD_LIB) && !className.startsWith(TRACER)) { + // �ʏ�̃��\�b�h�̌Ăяo�� + c.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m, c.getLineNumber(), true)); + } else if (className.matches(STANDARD_CLASSES) && !m.getLongName().matches(EXCEPT_FOR_METHODS)) { + // �W���N���X�̃��\�b�h�Ăяo���i�Ăяo����Ƀo�C�g�R�[�h�𖄂ߍ��߂Ȃ��j + c.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m, c.getLineNumber(), false)); } } catch (NotFoundException e) { e.printStackTrace(); @@ -134,15 +141,20 @@ public void edit(NewExpr n) throws CannotCompileException { try { CtConstructor m = n.getConstructor(); - if (m.getDeclaringClass().getName().matches(CONCRETE_STANDARD_CLASSES)) { - n.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m)); + String className = m.getDeclaringClass().getName(); + if (!className.startsWith(STANDARD_LIB) && !className.startsWith(TRACER)) { + // �ʏ�̃R���X�g���N�^�̌Ăяo�� + n.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m, n.getLineNumber(), true)); + } else if (m.getDeclaringClass().getName().matches(CONCRETE_STANDARD_CLASSES)) { + // �W���N���X�̃R���X�g���N�^�Ăяo���i�Ăяo����Ƀo�C�g�R�[�h�𖄂ߍ��߂Ȃ��j + n.replace(outputStatementsGenerator.generateReplaceStatementsForCall(m.getDeclaringClass(), m, n.getLineNumber(), false)); } } catch (NotFoundException e) { e.printStackTrace(); } } public void edit(NewArray a) throws CannotCompileException { - a.replace(outputStatementsGenerator.generateReplaceStatementsForNewArray(a)); + a.replace(outputStatementsGenerator.generateReplaceStatementsForNewArray(a, a.getLineNumber())); } // public void edit(ConstructorCall c) throws CannotCompileException { // try { @@ -168,9 +180,5 @@ m.insertBefore(outputStatementsGenerator.generateInsertBeforeStatementsForMethodBody(cc, m)); } } - -// // ���\�b�h�{�̓��̊e�u���b�N�̍ŏ��ɏo�͕���}������ -// if (m instanceof CtMethod && blocks != null) { -// } } } diff --git a/TracerOnJavassist/traces/_arraySample.txt b/TracerOnJavassist/traces/_arraySample.txt index 9b7ca1f..671cb44 100644 --- a/TracerOnJavassist/traces/_arraySample.txt +++ b/TracerOnJavassist/traces/_arraySample.txt @@ -1,38 +1,46 @@ -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1638443495},"index":0,"value":{"class":"[Ljava.lang.String;","id":137014984}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1638443495},"index":0,"value":{"class":"[Ljava.lang.String;","id":137014984}}, -{"type":"methodEntry","signature":"public static void arraySample.Main.main(java.lang.String[])","receiver":{"class":"arraySample.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":137014984}],"threadId":1,"time":1359340317692309}, -{"type":"blockEntry","methodSignature":"arraySample.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"time":1359340317711326}, -{"type":"constructorEntry","signature":"public arraySample.A()","class":"arraySample.A","args":[],"threadId":1,"time":1359340318857191}, -{"type":"arrayCreate","array":{"class":"[LarraySample.B;","id":2020010822},"dimension":1,"threadId":1,"time":1359340319753114}, -{"type":"fieldSet","fieldName":"arraySample.A.array","container":{"class":"arraySample.A","id":752909931},"value":{"class":"[LarraySample.B;","id":2020010822},"threadId":1,"time":1359340319802317}, -{"type":"constructorEntry","signature":"public arraySample.D()","class":"arraySample.D","args":[],"threadId":1,"time":1359340320763140}, -{"type":"constructorExit","shortSignature":"arraySample.D()","returnValue":{"class":"arraySample.D","id":100913843},"threadId":1,"time":1359340320816268}, -{"type":"fieldSet","fieldName":"arraySample.A.d","container":{"class":"arraySample.A","id":752909931},"value":{"class":"arraySample.D","id":100913843},"threadId":1,"time":1359340320850076}, -{"type":"constructorExit","shortSignature":"arraySample.A()","returnValue":{"class":"arraySample.A","id":752909931},"threadId":1,"time":1359340320870905}, -{"type":"methodEntry","signature":"public void arraySample.A.init()","receiver":{"class":"arraySample.A","id":752909931},"args":[],"threadId":1,"time":1359340320916184}, -{"type":"blockEntry","methodSignature":"arraySample.A.init()","blockId":0,"incomings":0,"threadId":1,"time":1359340320932484}, -{"type":"fieldGet","fieldName":"arraySample.A.array","this":{"class":"arraySample.A","id":752909931},"container":{"class":"arraySample.A","id":752909931},"value":{"class":"[LarraySample.B;","id":2020010822},"threadId":1,"time":1359340320972934}, -{"type":"constructorEntry","signature":"public arraySample.B()","class":"arraySample.B","args":[],"threadId":1,"time":1359340321197216}, -{"type":"constructorEntry","signature":"public arraySample.C()","class":"arraySample.C","args":[],"threadId":1,"time":1359340322086498}, -{"type":"constructorExit","shortSignature":"arraySample.C()","returnValue":{"class":"arraySample.C","id":869413585},"threadId":1,"time":1359340322153814}, -{"type":"fieldSet","fieldName":"arraySample.B.c","container":{"class":"arraySample.B","id":755388907},"value":{"class":"arraySample.C","id":869413585},"threadId":1,"time":1359340322216299}, -{"type":"constructorExit","shortSignature":"arraySample.B()","returnValue":{"class":"arraySample.B","id":755388907},"threadId":1,"time":1359340322241655}, -{"type":"arraySet","array":{"class":"[LarraySample.B;","id":2020010822},"index":0,"value":{"class":"arraySample.B","id":755388907}}, -{"type":"methodExit","shortSignature":"arraySample.A.init()","receiver":{"class":"arraySample.A","id":752909931},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359340322378096}, -{"type":"methodEntry","signature":"public void arraySample.A.start()","receiver":{"class":"arraySample.A","id":752909931},"args":[],"threadId":1,"time":1359340322410395}, -{"type":"blockEntry","methodSignature":"arraySample.A.start()","blockId":0,"incomings":0,"threadId":1,"time":1359340322431526}, -{"type":"fieldGet","fieldName":"arraySample.A.d","this":{"class":"arraySample.A","id":752909931},"container":{"class":"arraySample.A","id":752909931},"value":{"class":"arraySample.D","id":100913843},"threadId":1,"time":1359340322474390}, -{"type":"fieldGet","fieldName":"arraySample.A.array","this":{"class":"arraySample.A","id":752909931},"container":{"class":"arraySample.A","id":752909931},"value":{"class":"[LarraySample.B;","id":2020010822},"threadId":1,"time":1359340322516952}, -{"type":"arrayGet","array":{"class":"[LarraySample.B;","id":2020010822},"index":0,"value":{"class":"arraySample.B","id":755388907}}, -{"type":"methodEntry","signature":"public arraySample.C arraySample.B.getC()","receiver":{"class":"arraySample.B","id":755388907},"args":[],"threadId":1,"time":1359340322647054}, -{"type":"blockEntry","methodSignature":"arraySample.B.getC()","blockId":0,"incomings":0,"threadId":1,"time":1359340322668788}, -{"type":"fieldGet","fieldName":"arraySample.B.c","this":{"class":"arraySample.B","id":755388907},"container":{"class":"arraySample.B","id":755388907},"value":{"class":"arraySample.C","id":869413585},"threadId":1,"time":1359340322709238}, -{"type":"methodExit","shortSignature":"arraySample.B.getC()","receiver":{"class":"arraySample.B","id":755388907},"returnValue":{"class":"arraySample.C","id":869413585},"threadId":1,"time":1359340322748178}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":2045522532},"index":0,"value":{"class":"arraySample.C","id":869413585}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":2045522532},"index":0,"value":{"class":"arraySample.C","id":869413585}}, -{"type":"methodEntry","signature":"void arraySample.D.setC(arraySample.C)","receiver":{"class":"arraySample.D","id":100913843},"args":[{"class":"arraySample.C","id":869413585}],"threadId":1,"time":1359340322983327}, -{"type":"blockEntry","methodSignature":"arraySample.D.setC(arraySample.C)","blockId":0,"incomings":0,"threadId":1,"time":1359340323005665}, -{"type":"fieldSet","fieldName":"arraySample.D.c","container":{"class":"arraySample.D","id":100913843},"value":{"class":"arraySample.C","id":869413585},"threadId":1,"time":1359340323050039}, -{"type":"methodExit","shortSignature":"arraySample.D.setC(arraySample.C)","receiver":{"class":"arraySample.D","id":100913843},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359340323083847}, -{"type":"methodExit","shortSignature":"arraySample.A.start()","receiver":{"class":"arraySample.A","id":752909931},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359340323118561}, -{"type":"methodExit","shortSignature":"arraySample.Main.main(java.lang.String[])","receiver":{"class":"arraySample.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359340323147238}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":380020690},"index":0,"value":{"class":"[Ljava.lang.String;","id":391370652},"threadId":1,"time":1558286420801658}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":380020690},"index":0,"value":{"class":"[Ljava.lang.String;","id":391370652},"threadId":1,"time":1558286423510558}, +{"type":"methodEntry","signature":"public static void arraySample.Main.main(java.lang.String[])","receiver":{"class":"arraySample.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":391370652}],"threadId":1,"time":1558286423630094}, +{"type":"blockEntry","methodSignature":"arraySample.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"lineNum":10,"time":1558286423648206}, +{"type":"methodCall","callerSideSignature":"arraySample.A()","threadId":1,"lineNum":10}, +{"type":"constructorEntry","signature":"public arraySample.A()","class":"arraySample.A","args":[],"threadId":1,"time":1558286424544129}, +{"type":"arrayCreate","array":{"class":"[LarraySample.B;","id":1022253574},"dimension":1,"threadId":1,"lineNum":5,"time":1558286425086573}, +{"type":"fieldSet","fieldName":"arraySample.A.array","container":{"class":"arraySample.A","id":1146642218},"value":{"class":"[LarraySample.B;","id":1022253574},"threadId":1,"lineNum":5,"time":1558286425112231}, +{"type":"methodCall","callerSideSignature":"arraySample.D()","threadId":1,"lineNum":6}, +{"type":"constructorEntry","signature":"public arraySample.D()","class":"arraySample.D","args":[],"threadId":1,"time":1558286425768477}, +{"type":"constructorExit","shortSignature":"arraySample.D()","returnValue":{"class":"arraySample.D","id":752550817},"threadId":1,"time":1558286425799871}, +{"type":"fieldSet","fieldName":"arraySample.A.d","container":{"class":"arraySample.A","id":1146642218},"value":{"class":"arraySample.D","id":752550817},"threadId":1,"lineNum":6,"time":1558286425831868}, +{"type":"constructorExit","shortSignature":"arraySample.A()","returnValue":{"class":"arraySample.A","id":1146642218},"threadId":1,"time":1558286425846357}, +{"type":"methodCall","callerSideSignature":"arraySample.A.init()","threadId":1,"lineNum":11}, +{"type":"methodEntry","signature":"public void arraySample.A.init()","receiver":{"class":"arraySample.A","id":1146642218},"args":[],"threadId":1,"time":1558286425874732}, +{"type":"blockEntry","methodSignature":"arraySample.A.init()","blockId":0,"incomings":0,"threadId":1,"lineNum":9,"time":1558286425887712}, +{"type":"fieldGet","fieldName":"arraySample.A.array","this":{"class":"arraySample.A","id":1146642218},"container":{"class":"arraySample.A","id":1146642218},"value":{"class":"[LarraySample.B;","id":1022253574},"threadId":1,"lineNum":9,"time":1558286425912465}, +{"type":"methodCall","callerSideSignature":"arraySample.B()","threadId":1,"lineNum":9}, +{"type":"constructorEntry","signature":"public arraySample.B()","class":"arraySample.B","args":[],"threadId":1,"time":1558286426074262}, +{"type":"methodCall","callerSideSignature":"arraySample.C()","threadId":1,"lineNum":5}, +{"type":"constructorEntry","signature":"public arraySample.C()","class":"arraySample.C","args":[],"threadId":1,"time":1558286426613386}, +{"type":"constructorExit","shortSignature":"arraySample.C()","returnValue":{"class":"arraySample.C","id":1065473029},"threadId":1,"time":1558286426645987}, +{"type":"fieldSet","fieldName":"arraySample.B.c","container":{"class":"arraySample.B","id":1686549717},"value":{"class":"arraySample.C","id":1065473029},"threadId":1,"lineNum":5,"time":1558286426678286}, +{"type":"constructorExit","shortSignature":"arraySample.B()","returnValue":{"class":"arraySample.B","id":1686549717},"threadId":1,"time":1558286426696096}, +{"type":"arraySet","array":{"class":"[LarraySample.B;","id":1022253574},"index":0,"value":{"class":"arraySample.B","id":1686549717},"threadId":1,"time":1558286426705152}, +{"type":"methodExit","shortSignature":"arraySample.A.init()","receiver":{"class":"arraySample.A","id":1146642218},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558286426781522}, +{"type":"methodCall","callerSideSignature":"arraySample.A.start()","threadId":1,"lineNum":12}, +{"type":"methodEntry","signature":"public void arraySample.A.start()","receiver":{"class":"arraySample.A","id":1146642218},"args":[],"threadId":1,"time":1558286426808388}, +{"type":"blockEntry","methodSignature":"arraySample.A.start()","blockId":0,"incomings":0,"threadId":1,"lineNum":13,"time":1558286426820764}, +{"type":"fieldGet","fieldName":"arraySample.A.d","this":{"class":"arraySample.A","id":1146642218},"container":{"class":"arraySample.A","id":1146642218},"value":{"class":"arraySample.D","id":752550817},"threadId":1,"lineNum":13,"time":1558286426843706}, +{"type":"fieldGet","fieldName":"arraySample.A.array","this":{"class":"arraySample.A","id":1146642218},"container":{"class":"arraySample.A","id":1146642218},"value":{"class":"[LarraySample.B;","id":1022253574},"threadId":1,"lineNum":13,"time":1558286426864836}, +{"type":"arrayGet","array":{"class":"[LarraySample.B;","id":1022253574},"index":0,"value":{"class":"arraySample.B","id":1686549717},"threadId":1,"time":1558286426873590}, +{"type":"methodCall","callerSideSignature":"arraySample.B.getC()","threadId":1,"lineNum":13}, +{"type":"methodEntry","signature":"public arraySample.C arraySample.B.getC()","receiver":{"class":"arraySample.B","id":1686549717},"args":[],"threadId":1,"time":1558286426955394}, +{"type":"blockEntry","methodSignature":"arraySample.B.getC()","blockId":0,"incomings":0,"threadId":1,"lineNum":8,"time":1558286426969884}, +{"type":"fieldGet","fieldName":"arraySample.B.c","this":{"class":"arraySample.B","id":1686549717},"container":{"class":"arraySample.B","id":1686549717},"value":{"class":"arraySample.C","id":1065473029},"threadId":1,"lineNum":8,"time":1558286426993731}, +{"type":"methodExit","shortSignature":"arraySample.B.getC()","receiver":{"class":"arraySample.B","id":1686549717},"returnValue":{"class":"arraySample.C","id":1065473029},"threadId":1,"time":1558286427013351}, +{"type":"methodCall","callerSideSignature":"arraySample.D.setC(arraySample.C)","threadId":1,"lineNum":13}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1204436866},"index":0,"value":{"class":"arraySample.C","id":1065473029},"threadId":1,"time":1558286427041123}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1204436866},"index":0,"value":{"class":"arraySample.C","id":1065473029},"threadId":1,"time":1558286427103004}, +{"type":"methodEntry","signature":"void arraySample.D.setC(arraySample.C)","receiver":{"class":"arraySample.D","id":752550817},"args":[{"class":"arraySample.C","id":1065473029}],"threadId":1,"time":1558286427170319}, +{"type":"blockEntry","methodSignature":"arraySample.D.setC(arraySample.C)","blockId":0,"incomings":0,"threadId":1,"lineNum":7,"time":1558286427182695}, +{"type":"fieldSet","fieldName":"arraySample.D.c","container":{"class":"arraySample.D","id":752550817},"value":{"class":"arraySample.C","id":1065473029},"threadId":1,"lineNum":7,"time":1558286427205335}, +{"type":"methodExit","shortSignature":"arraySample.D.setC(arraySample.C)","receiver":{"class":"arraySample.D","id":752550817},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558286427225258}, +{"type":"methodExit","shortSignature":"arraySample.A.start()","receiver":{"class":"arraySample.A","id":1146642218},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558286427245181}, +{"type":"methodExit","shortSignature":"arraySample.Main.main(java.lang.String[])","receiver":{"class":"arraySample.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558286427260274}, diff --git a/TracerOnJavassist/traces/_finalLocal.txt b/TracerOnJavassist/traces/_finalLocal.txt index 156e0f6..60609da 100644 --- a/TracerOnJavassist/traces/_finalLocal.txt +++ b/TracerOnJavassist/traces/_finalLocal.txt @@ -1,30 +1,36 @@ 2 -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1293086287},"index":0,"value":{"class":"[Ljava.lang.String;","id":366717969}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1293086287},"index":0,"value":{"class":"[Ljava.lang.String;","id":366717969}}, -{"type":"methodEntry","signature":"public static void finalLocal.Main.main(java.lang.String[])","receiver":{"class":"finalLocal.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":366717969}],"threadId":1,"time":1359354713661983}, -{"type":"blockEntry","methodSignature":"finalLocal.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"time":1359354713681000}, -{"type":"constructorEntry","signature":"public finalLocal.Main()","class":"finalLocal.Main","args":[],"threadId":1,"time":1359354713695490}, -{"type":"constructorExit","shortSignature":"finalLocal.Main()","returnValue":{"class":"finalLocal.Main","id":404225673},"threadId":1,"time":1359354713711488}, -{"type":"methodEntry","signature":"public void finalLocal.Main.coordinator()","receiver":{"class":"finalLocal.Main","id":404225673},"args":[],"threadId":1,"time":1359354713731713}, -{"type":"blockEntry","methodSignature":"finalLocal.Main.coordinator()","blockId":0,"incomings":0,"threadId":1,"time":1359354713742580}, -{"type":"constructorEntry","signature":"finalLocal.Main.A()","class":"finalLocal.Main$A","args":[],"threadId":1,"time":1359354714570283}, -{"type":"constructorExit","shortSignature":"finalLocal.Main.A()","returnValue":{"class":"finalLocal.Main$A","id":972820228},"threadId":1,"time":1359354714620995}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":2133026363},"index":0,"value":{"class":"finalLocal.Main","id":404225673}}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":2133026363},"index":1,"value":{"class":"finalLocal.Main$A","id":972820228}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":2133026363},"index":0,"value":{"class":"finalLocal.Main","id":404225673}}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1829563570},"index":0,"value":{"class":"finalLocal.Main","id":404225673}}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1829563570},"index":1,"value":{"class":"finalLocal.Main$A","id":972820228}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1829563570},"index":1,"value":{"class":"finalLocal.Main$A","id":972820228}}, -{"type":"constructorEntry","signature":"finalLocal.Main.1Test(finalLocal.Main,finalLocal.Main.A)","class":"finalLocal.Main$1Test","args":[{"class":"finalLocal.Main","id":404225673},{"class":"finalLocal.Main$A","id":972820228}],"threadId":1,"time":1359354716269760}, -{"type":"constructorExit","shortSignature":"finalLocal.Main.1Test(finalLocal.Main,finalLocal.Main.A)","returnValue":{"class":"finalLocal.Main$1Test","id":1804063244},"threadId":1,"time":1359354716315039}, -{"type":"methodEntry","signature":"public void finalLocal.Main.1Test.test()","receiver":{"class":"finalLocal.Main$1Test","id":1804063244},"args":[],"threadId":1,"time":1359354716343112}, -{"type":"blockEntry","methodSignature":"finalLocal.Main.1Test.test()","blockId":0,"incomings":0,"threadId":1,"time":1359354716362733}, -{"type":"fieldSet","fieldName":"finalLocal.Main$1Test.a2","container":{"class":"finalLocal.Main$1Test","id":1804063244},"value":{"class":"finalLocal.Main$A","id":972820228},"threadId":1,"time":1359354716399258}, -{"type":"fieldGet","fieldName":"java.lang.System.out","this":{"class":"finalLocal.Main$1Test","id":1804063244},"container":{"class":"---","id":0},"value":{"class":"java.io.PrintStream","id":569329915},"threadId":1,"time":1359354716446650}, -{"type":"fieldGet","fieldName":"finalLocal.Main$1Test.a2","this":{"class":"finalLocal.Main$1Test","id":1804063244},"container":{"class":"finalLocal.Main$1Test","id":1804063244},"value":{"class":"finalLocal.Main$A","id":972820228},"threadId":1,"time":1359354716484684}, -{"type":"methodEntry","signature":"int finalLocal.Main.A.get()","receiver":{"class":"finalLocal.Main$A","id":972820228},"args":[],"threadId":1,"time":1359354716522115}, -{"type":"blockEntry","methodSignature":"finalLocal.Main.A.get()","blockId":0,"incomings":0,"threadId":1,"time":1359354716541133}, -{"type":"methodExit","shortSignature":"finalLocal.Main.A.get()","receiver":{"class":"finalLocal.Main$A","id":972820228},"returnValue":{"class":"int","id":2},"threadId":1,"time":1359354716574941}, -{"type":"methodExit","shortSignature":"finalLocal.Main.1Test.test()","receiver":{"class":"finalLocal.Main$1Test","id":1804063244},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359354716867444}, -{"type":"methodExit","shortSignature":"finalLocal.Main.coordinator()","receiver":{"class":"finalLocal.Main","id":404225673},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359354716901856}, -{"type":"methodExit","shortSignature":"finalLocal.Main.main(java.lang.String[])","receiver":{"class":"finalLocal.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359354716927816}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":336455240},"index":0,"value":{"class":"[Ljava.lang.String;","id":478776129},"threadId":1,"time":1558449927490895}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":336455240},"index":0,"value":{"class":"[Ljava.lang.String;","id":478776129},"threadId":1,"time":1558449930486261}, +{"type":"methodEntry","signature":"public static void finalLocal.Main.main(java.lang.String[])","receiver":{"class":"finalLocal.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":478776129}],"threadId":1,"time":1558449930586479}, +{"type":"blockEntry","methodSignature":"finalLocal.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"lineNum":9,"time":1558449930604893}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main()","threadId":1,"lineNum":9}, +{"type":"constructorEntry","signature":"public finalLocal.Main()","class":"finalLocal.Main","args":[],"threadId":1,"time":1558449930626627}, +{"type":"constructorExit","shortSignature":"finalLocal.Main()","returnValue":{"class":"finalLocal.Main","id":1078209429},"threadId":1,"time":1558449930643229}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main.coordinator()","threadId":1,"lineNum":10}, +{"type":"methodEntry","signature":"public void finalLocal.Main.coordinator()","receiver":{"class":"finalLocal.Main","id":1078209429},"args":[],"threadId":1,"time":1558449930671302}, +{"type":"blockEntry","methodSignature":"finalLocal.Main.coordinator()","blockId":0,"incomings":0,"threadId":1,"lineNum":20,"time":1558449930683075}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main.A()","threadId":1,"lineNum":20}, +{"type":"constructorEntry","signature":"finalLocal.Main.A()","class":"finalLocal.Main$A","args":[],"threadId":1,"time":1558449931303701}, +{"type":"constructorExit","shortSignature":"finalLocal.Main.A()","returnValue":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"time":1558449931336000}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main.1Test(finalLocal.Main,finalLocal.Main.A)","threadId":1,"lineNum":29}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1833852247},"index":0,"value":{"class":"finalLocal.Main","id":1078209429},"threadId":1,"time":1558449932061371}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1833852247},"index":1,"value":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"time":1558449932127177}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1833852247},"index":0,"value":{"class":"finalLocal.Main","id":1078209429},"threadId":1,"time":1558449932201435}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":869413585},"index":0,"value":{"class":"finalLocal.Main","id":1078209429},"threadId":1,"time":1558449932280221}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":869413585},"index":1,"value":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"time":1558449932341800}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":869413585},"index":1,"value":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"time":1558449932409115}, +{"type":"constructorEntry","signature":"finalLocal.Main.1Test(finalLocal.Main,finalLocal.Main.A)","class":"finalLocal.Main$1Test","args":[{"class":"finalLocal.Main","id":1078209429},{"class":"finalLocal.Main$A","id":1688234020}],"threadId":1,"time":1558449932486090}, +{"type":"constructorExit","shortSignature":"finalLocal.Main.1Test(finalLocal.Main,finalLocal.Main.A)","returnValue":{"class":"finalLocal.Main$1Test","id":755388907},"threadId":1,"time":1558449932510541}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main.1Test.test()","threadId":1,"lineNum":30}, +{"type":"methodEntry","signature":"public void finalLocal.Main.1Test.test()","receiver":{"class":"finalLocal.Main$1Test","id":755388907},"args":[],"threadId":1,"time":1558449932540727}, +{"type":"blockEntry","methodSignature":"finalLocal.Main.1Test.test()","blockId":0,"incomings":0,"threadId":1,"lineNum":25,"time":1558449932554311}, +{"type":"fieldSet","fieldName":"finalLocal.Main$1Test.a2","container":{"class":"finalLocal.Main$1Test","id":755388907},"value":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"lineNum":25,"time":1558449932578761}, +{"type":"fieldGet","fieldName":"java.lang.System.out","this":{"class":"finalLocal.Main$1Test","id":755388907},"container":{"class":"---","id":0},"value":{"class":"java.io.PrintStream","id":2045522532},"threadId":1,"lineNum":26,"time":1558449932618607}, +{"type":"fieldGet","fieldName":"finalLocal.Main$1Test.a2","this":{"class":"finalLocal.Main$1Test","id":755388907},"container":{"class":"finalLocal.Main$1Test","id":755388907},"value":{"class":"finalLocal.Main$A","id":1688234020},"threadId":1,"lineNum":26,"time":1558449932643058}, +{"type":"methodCall","callerSideSignature":"finalLocal.Main.A.get()","threadId":1,"lineNum":26}, +{"type":"methodEntry","signature":"int finalLocal.Main.A.get()","receiver":{"class":"finalLocal.Main$A","id":1688234020},"args":[],"threadId":1,"time":1558449932671432}, +{"type":"blockEntry","methodSignature":"finalLocal.Main.A.get()","blockId":0,"incomings":0,"threadId":1,"lineNum":15,"time":1558449932685016}, +{"type":"methodExit","shortSignature":"finalLocal.Main.A.get()","receiver":{"class":"finalLocal.Main$A","id":1688234020},"returnValue":{"class":"int","id":2},"threadId":1,"time":1558449932703732}, +{"type":"methodExit","shortSignature":"finalLocal.Main.1Test.test()","receiver":{"class":"finalLocal.Main$1Test","id":755388907},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558449932908997}, +{"type":"methodExit","shortSignature":"finalLocal.Main.coordinator()","receiver":{"class":"finalLocal.Main","id":1078209429},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558449932930429}, +{"type":"methodExit","shortSignature":"finalLocal.Main.main(java.lang.String[])","receiver":{"class":"finalLocal.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558449932947937}, diff --git a/TracerOnJavassist/traces/_threadSample.txt b/TracerOnJavassist/traces/_threadSample.txt index e978c58..8e4d8b4 100644 --- a/TracerOnJavassist/traces/_threadSample.txt +++ b/TracerOnJavassist/traces/_threadSample.txt @@ -1,51 +1,63 @@ -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1293086287},"index":0,"value":{"class":"[Ljava.lang.String;","id":366717969}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1293086287},"index":0,"value":{"class":"[Ljava.lang.String;","id":366717969}}, -{"type":"methodEntry","signature":"public static void threadSample.Main.main(java.lang.String[])","receiver":{"class":"threadSample.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":366717969}],"threadId":1,"time":1368740396939251}, -{"type":"blockEntry","methodSignature":"threadSample.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"time":1368740396973361}, -{"type":"constructorEntry","signature":"public threadSample.ThreadSample()","class":"threadSample.ThreadSample","args":[],"threadId":1,"time":1368740397274920}, -{"type":"constructorExit","shortSignature":"threadSample.ThreadSample()","returnValue":{"class":"threadSample.ThreadSample","id":404225673},"threadId":1,"time":1368740397348574}, -{"type":"methodEntry","signature":"public synchronized void java.lang.Thread.start()","receiver":{"class":"threadSample.ThreadSample","id":404225673},"args":[],"threadId":1,"time":1368740397375742}, -{"type":"methodExit","shortSignature":"java.lang.Thread.start()","receiver":{"class":"threadSample.ThreadSample","id":404225673},"returnValue":{"class":"void","id":0},"threadId":1,"time":1368740397510371}, -{"type":"methodExit","shortSignature":"threadSample.Main.main(java.lang.String[])","receiver":{"class":"threadSample.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1368740397533615}, -{"type":"methodEntry","signature":"public void threadSample.ThreadSample.run()","receiver":{"class":"threadSample.ThreadSample","id":404225673},"args":[],"threadId":10,"time":1368740397627795}, -{"type":"blockEntry","methodSignature":"threadSample.ThreadSample.run()","blockId":0,"incomings":0,"threadId":10,"time":1368740397654057}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1216307541},"index":0,"value":{"class":"threadSample.ThreadSample","id":404225673}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1216307541},"index":0,"value":{"class":"threadSample.ThreadSample","id":404225673}}, -{"type":"constructorEntry","signature":"threadSample.ThreadSample.1(threadSample.ThreadSample)","class":"threadSample.ThreadSample$1","args":[{"class":"threadSample.ThreadSample","id":404225673}],"threadId":10,"time":1368740398858784}, -{"type":"constructorExit","shortSignature":"threadSample.ThreadSample.1(threadSample.ThreadSample)","returnValue":{"class":"threadSample.ThreadSample$1","id":584005794},"threadId":10,"time":1368740398900441}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1385112968},"index":0,"value":{"class":"threadSample.ThreadSample$1","id":584005794}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1385112968},"index":0,"value":{"class":"threadSample.ThreadSample$1","id":584005794}}, -{"type":"constructorEntry","signature":"public java.lang.Thread(java.lang.Runnable)","class":"java.lang.Thread","args":[{"class":"threadSample.ThreadSample$1","id":584005794}],"threadId":10,"time":1368740399055296}, -{"type":"constructorExit","shortSignature":"java.lang.Thread(java.lang.Runnable)","returnValue":{"class":"java.lang.Thread","id":870919696},"threadId":10,"time":1368740399097858}, -{"type":"methodEntry","signature":"public synchronized void java.lang.Thread.start()","receiver":{"class":"java.lang.Thread","id":870919696},"args":[],"threadId":10,"time":1368740399123516}, -{"type":"methodExit","shortSignature":"java.lang.Thread.start()","receiver":{"class":"java.lang.Thread","id":870919696},"returnValue":{"class":"void","id":0},"threadId":10,"time":1368740399233997}, -{"type":"methodExit","shortSignature":"threadSample.ThreadSample.run()","receiver":{"class":"threadSample.ThreadSample","id":404225673},"returnValue":{"class":"void","id":0},"threadId":10,"time":1368740399254222}, -{"type":"methodEntry","signature":"public void threadSample.ThreadSample.1.run()","receiver":{"class":"threadSample.ThreadSample$1","id":584005794},"args":[],"threadId":12,"time":1368740399316707}, -{"type":"blockEntry","methodSignature":"threadSample.ThreadSample.1.run()","blockId":0,"incomings":0,"threadId":12,"time":1368740399333008}, -{"type":"constructorEntry","signature":"public threadSample.A()","class":"threadSample.A","args":[],"threadId":12,"time":1368740408055279}, -{"type":"constructorEntry","signature":"public threadSample.B()","class":"threadSample.B","args":[],"threadId":12,"time":1368740415356691}, -{"type":"constructorEntry","signature":"public threadSample.C()","class":"threadSample.C","args":[],"threadId":12,"time":1368740422299190}, -{"type":"constructorExit","shortSignature":"threadSample.C()","returnValue":{"class":"threadSample.C","id":97509748},"threadId":12,"time":1368740422345676}, -{"type":"fieldSet","fieldName":"threadSample.B.c","container":{"class":"threadSample.B","id":316311975},"value":{"class":"threadSample.C","id":97509748},"threadId":12,"time":1368740422380692}, -{"type":"constructorExit","shortSignature":"threadSample.B()","returnValue":{"class":"threadSample.B","id":316311975},"threadId":12,"time":1368740422396691}, -{"type":"fieldSet","fieldName":"threadSample.A.b","container":{"class":"threadSample.A","id":1233337500},"value":{"class":"threadSample.B","id":316311975},"threadId":12,"time":1368740422429594}, -{"type":"constructorEntry","signature":"public threadSample.D()","class":"threadSample.D","args":[],"threadId":12,"time":1368740430485959}, -{"type":"constructorExit","shortSignature":"threadSample.D()","returnValue":{"class":"threadSample.D","id":2004703190},"threadId":12,"time":1368740430527918}, -{"type":"fieldSet","fieldName":"threadSample.A.d","container":{"class":"threadSample.A","id":1233337500},"value":{"class":"threadSample.D","id":2004703190},"threadId":12,"time":1368740430552067}, -{"type":"constructorExit","shortSignature":"threadSample.A()","returnValue":{"class":"threadSample.A","id":1233337500},"threadId":12,"time":1368740430568971}, -{"type":"methodEntry","signature":"public void threadSample.A.m()","receiver":{"class":"threadSample.A","id":1233337500},"args":[],"threadId":12,"time":1368740430588894}, -{"type":"blockEntry","methodSignature":"threadSample.A.m()","blockId":0,"incomings":0,"threadId":12,"time":1368740430599761}, -{"type":"fieldGet","fieldName":"threadSample.A.d","this":{"class":"threadSample.A","id":1233337500},"container":{"class":"threadSample.A","id":1233337500},"value":{"class":"threadSample.D","id":2004703190},"threadId":12,"time":1368740430623608}, -{"type":"fieldGet","fieldName":"threadSample.A.b","this":{"class":"threadSample.A","id":1233337500},"container":{"class":"threadSample.A","id":1233337500},"value":{"class":"threadSample.B","id":316311975},"threadId":12,"time":1368740430645946}, -{"type":"methodEntry","signature":"public threadSample.C threadSample.B.getC()","receiver":{"class":"threadSample.B","id":316311975},"args":[],"threadId":12,"time":1368740430665869}, -{"type":"blockEntry","methodSignature":"threadSample.B.getC()","blockId":0,"incomings":0,"threadId":12,"time":1368740430677641}, -{"type":"fieldGet","fieldName":"threadSample.B.c","this":{"class":"threadSample.B","id":316311975},"container":{"class":"threadSample.B","id":316311975},"value":{"class":"threadSample.C","id":97509748},"threadId":12,"time":1368740430699979}, -{"type":"methodExit","shortSignature":"threadSample.B.getC()","receiver":{"class":"threadSample.B","id":316311975},"returnValue":{"class":"threadSample.C","id":97509748},"threadId":12,"time":1368740430719902}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1175576547},"index":0,"value":{"class":"threadSample.C","id":97509748}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1175576547},"index":0,"value":{"class":"threadSample.C","id":97509748}}, -{"type":"methodEntry","signature":"public void threadSample.D.setC(threadSample.C)","receiver":{"class":"threadSample.D","id":2004703190},"args":[{"class":"threadSample.C","id":97509748}],"threadId":12,"time":1368740430856645}, -{"type":"blockEntry","methodSignature":"threadSample.D.setC(threadSample.C)","blockId":0,"incomings":0,"threadId":12,"time":1368740430869625}, -{"type":"fieldSet","fieldName":"threadSample.D.c","container":{"class":"threadSample.D","id":2004703190},"value":{"class":"threadSample.C","id":97509748},"threadId":12,"time":1368740430890755}, -{"type":"methodExit","shortSignature":"threadSample.D.setC(threadSample.C)","receiver":{"class":"threadSample.D","id":2004703190},"returnValue":{"class":"void","id":0},"threadId":12,"time":1368740430910074}, -{"type":"methodExit","shortSignature":"threadSample.A.m()","receiver":{"class":"threadSample.A","id":1233337500},"returnValue":{"class":"void","id":0},"threadId":12,"time":1368740430930601}, -{"type":"methodExit","shortSignature":"threadSample.ThreadSample.1.run()","receiver":{"class":"threadSample.ThreadSample$1","id":584005794},"returnValue":{"class":"void","id":0},"threadId":12,"time":1368740430952335}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":940917061},"index":0,"value":{"class":"[Ljava.lang.String;","id":2070951366},"threadId":1,"time":1558785099506336}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":940917061},"index":0,"value":{"class":"[Ljava.lang.String;","id":2070951366},"threadId":1,"time":1558785103899620}, +{"type":"methodEntry","signature":"public static void threadSample.Main.main(java.lang.String[])","receiver":{"class":"threadSample.Main","id":0},"args":[{"class":"[Ljava.lang.String;","id":2070951366}],"threadId":1,"time":1558785104087076}, +{"type":"blockEntry","methodSignature":"threadSample.Main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"lineNum":11,"time":1558785104118469}, +{"type":"methodCall","callerSideSignature":"threadSample.ThreadSample()","threadId":1,"lineNum":11}, +{"type":"constructorEntry","signature":"public threadSample.ThreadSample()","class":"threadSample.ThreadSample","args":[],"threadId":1,"time":1558785104498814}, +{"type":"constructorExit","shortSignature":"threadSample.ThreadSample()","returnValue":{"class":"threadSample.ThreadSample","id":1385112968},"threadId":1,"time":1558785104583033}, +{"type":"methodCall","callerSideSignature":"java.lang.Thread.start()","threadId":1,"lineNum":12}, +{"type":"methodEntry","signature":"public synchronized void java.lang.Thread.start()","receiver":{"class":"threadSample.ThreadSample","id":1385112968},"args":[],"threadId":1,"time":1558785104633142}, +{"type":"methodExit","shortSignature":"java.lang.Thread.start()","receiver":{"class":"threadSample.ThreadSample","id":1385112968},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558785104797656}, +{"type":"methodExit","shortSignature":"threadSample.Main.main(java.lang.String[])","receiver":{"class":"threadSample.Main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558785104824220}, +{"type":"methodEntry","signature":"public void threadSample.ThreadSample.run()","receiver":{"class":"threadSample.ThreadSample","id":1385112968},"args":[],"threadId":10,"time":1558785104875838}, +{"type":"blockEntry","methodSignature":"threadSample.ThreadSample.run()","blockId":0,"incomings":0,"threadId":10,"lineNum":5,"time":1558785104892440}, +{"type":"methodCall","callerSideSignature":"threadSample.ThreadSample.1(threadSample.ThreadSample)","threadId":10,"lineNum":5}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":2020010822},"index":0,"value":{"class":"threadSample.ThreadSample","id":1385112968},"threadId":10,"time":1558785105681807}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":2020010822},"index":0,"value":{"class":"threadSample.ThreadSample","id":1385112968},"threadId":10,"time":1558785105750631}, +{"type":"constructorEntry","signature":"threadSample.ThreadSample.1(threadSample.ThreadSample)","class":"threadSample.ThreadSample$1","args":[{"class":"threadSample.ThreadSample","id":1385112968}],"threadId":10,"time":1558785105838473}, +{"type":"constructorExit","shortSignature":"threadSample.ThreadSample.1(threadSample.ThreadSample)","returnValue":{"class":"threadSample.ThreadSample$1","id":752909931},"threadId":10,"time":1558785105862923}, +{"type":"methodCall","callerSideSignature":"java.lang.Thread(java.lang.Runnable)","threadId":10,"lineNum":5}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1183562193},"index":0,"value":{"class":"threadSample.ThreadSample$1","id":752909931},"threadId":10,"time":1558785105884054}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1183562193},"index":0,"value":{"class":"threadSample.ThreadSample$1","id":752909931},"threadId":10,"time":1558785105954689}, +{"type":"constructorEntry","signature":"public java.lang.Thread(java.lang.Runnable)","class":"java.lang.Thread","args":[{"class":"threadSample.ThreadSample$1","id":752909931}],"threadId":10,"time":1558785106024721}, +{"type":"constructorExit","shortSignature":"java.lang.Thread(java.lang.Runnable)","returnValue":{"class":"java.lang.Thread","id":2136239237},"threadId":10,"time":1558785106056416}, +{"type":"methodCall","callerSideSignature":"java.lang.Thread.start()","threadId":10,"lineNum":12}, +{"type":"methodEntry","signature":"public synchronized void java.lang.Thread.start()","receiver":{"class":"java.lang.Thread","id":2136239237},"args":[],"threadId":10,"time":1558785106082980}, +{"type":"methodExit","shortSignature":"java.lang.Thread.start()","receiver":{"class":"java.lang.Thread","id":2136239237},"returnValue":{"class":"void","id":0},"threadId":10,"time":1558785106169010}, +{"type":"methodExit","shortSignature":"threadSample.ThreadSample.run()","receiver":{"class":"threadSample.ThreadSample","id":1385112968},"returnValue":{"class":"void","id":0},"threadId":10,"time":1558785106190442}, +{"type":"methodEntry","signature":"public void threadSample.ThreadSample.1.run()","receiver":{"class":"threadSample.ThreadSample$1","id":752909931},"args":[],"threadId":12,"time":1558785106234816}, +{"type":"blockEntry","methodSignature":"threadSample.ThreadSample.1.run()","blockId":0,"incomings":0,"threadId":12,"lineNum":8,"time":1558785106251116}, +{"type":"methodCall","callerSideSignature":"threadSample.A()","threadId":12,"lineNum":8}, +{"type":"constructorEntry","signature":"public threadSample.A()","class":"threadSample.A","args":[],"threadId":12,"time":1558785107055878}, +{"type":"methodCall","callerSideSignature":"threadSample.B()","threadId":12,"lineNum":4}, +{"type":"constructorEntry","signature":"public threadSample.B()","class":"threadSample.B","args":[],"threadId":12,"time":1558785107759817}, +{"type":"methodCall","callerSideSignature":"threadSample.C()","threadId":12,"lineNum":4}, +{"type":"constructorEntry","signature":"public threadSample.C()","class":"threadSample.C","args":[],"threadId":12,"time":1558785108312223}, +{"type":"constructorExit","shortSignature":"threadSample.C()","returnValue":{"class":"threadSample.C","id":557131440},"threadId":12,"time":1558785108343918}, +{"type":"fieldSet","fieldName":"threadSample.B.c","container":{"class":"threadSample.B","id":679411160},"value":{"class":"threadSample.C","id":557131440},"threadId":12,"lineNum":4,"time":1558785108377727}, +{"type":"constructorExit","shortSignature":"threadSample.B()","returnValue":{"class":"threadSample.B","id":679411160},"threadId":12,"time":1558785108392518}, +{"type":"fieldSet","fieldName":"threadSample.A.b","container":{"class":"threadSample.A","id":692815021},"value":{"class":"threadSample.B","id":679411160},"threadId":12,"lineNum":4,"time":1558785108423911}, +{"type":"methodCall","callerSideSignature":"threadSample.D()","threadId":12,"lineNum":5}, +{"type":"constructorEntry","signature":"public threadSample.D()","class":"threadSample.D","args":[],"threadId":12,"time":1558785109054801}, +{"type":"constructorExit","shortSignature":"threadSample.D()","returnValue":{"class":"threadSample.D","id":1449373192},"threadId":12,"time":1558785109087704}, +{"type":"fieldSet","fieldName":"threadSample.A.d","container":{"class":"threadSample.A","id":692815021},"value":{"class":"threadSample.D","id":1449373192},"threadId":12,"lineNum":5,"time":1558785109109136}, +{"type":"constructorExit","shortSignature":"threadSample.A()","returnValue":{"class":"threadSample.A","id":692815021},"threadId":12,"time":1558785109124530}, +{"type":"methodCall","callerSideSignature":"threadSample.A.m()","threadId":12,"lineNum":9}, +{"type":"methodEntry","signature":"public void threadSample.A.m()","receiver":{"class":"threadSample.A","id":692815021},"args":[],"threadId":12,"time":1558785109155622}, +{"type":"blockEntry","methodSignature":"threadSample.A.m()","blockId":0,"incomings":0,"threadId":12,"lineNum":8,"time":1558785109167395}, +{"type":"fieldGet","fieldName":"threadSample.A.d","this":{"class":"threadSample.A","id":692815021},"container":{"class":"threadSample.A","id":692815021},"value":{"class":"threadSample.D","id":1449373192},"threadId":12,"lineNum":8,"time":1558785109191845}, +{"type":"fieldGet","fieldName":"threadSample.A.b","this":{"class":"threadSample.A","id":692815021},"container":{"class":"threadSample.A","id":692815021},"value":{"class":"threadSample.B","id":679411160},"threadId":12,"lineNum":8,"time":1558785109215692}, +{"type":"methodCall","callerSideSignature":"threadSample.B.getC()","threadId":12,"lineNum":8}, +{"type":"methodEntry","signature":"public threadSample.C threadSample.B.getC()","receiver":{"class":"threadSample.B","id":679411160},"args":[],"threadId":12,"time":1558785109244973}, +{"type":"blockEntry","methodSignature":"threadSample.B.getC()","blockId":0,"incomings":0,"threadId":12,"lineNum":7,"time":1558785109256746}, +{"type":"fieldGet","fieldName":"threadSample.B.c","this":{"class":"threadSample.B","id":679411160},"container":{"class":"threadSample.B","id":679411160},"value":{"class":"threadSample.C","id":557131440},"threadId":12,"lineNum":7,"time":1558785109279989}, +{"type":"methodExit","shortSignature":"threadSample.B.getC()","receiver":{"class":"threadSample.B","id":679411160},"returnValue":{"class":"threadSample.C","id":557131440},"threadId":12,"time":1558785109299610}, +{"type":"methodCall","callerSideSignature":"threadSample.D.setC(threadSample.C)","threadId":12,"lineNum":8}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":708230023},"index":0,"value":{"class":"threadSample.C","id":557131440},"threadId":12,"time":1558785109327985}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":708230023},"index":0,"value":{"class":"threadSample.C","id":557131440},"threadId":12,"time":1558785109391678}, +{"type":"methodEntry","signature":"public void threadSample.D.setC(threadSample.C)","receiver":{"class":"threadSample.D","id":1449373192},"args":[{"class":"threadSample.C","id":557131440}],"threadId":12,"time":1558785109458087}, +{"type":"blockEntry","methodSignature":"threadSample.D.setC(threadSample.C)","blockId":0,"incomings":0,"threadId":12,"lineNum":7,"time":1558785109471671}, +{"type":"fieldSet","fieldName":"threadSample.D.c","container":{"class":"threadSample.D","id":1449373192},"value":{"class":"threadSample.C","id":557131440},"threadId":12,"lineNum":7,"time":1558785109494008}, +{"type":"methodExit","shortSignature":"threadSample.D.setC(threadSample.C)","receiver":{"class":"threadSample.D","id":1449373192},"returnValue":{"class":"void","id":0},"threadId":12,"time":1558785109511516}, +{"type":"methodExit","shortSignature":"threadSample.A.m()","receiver":{"class":"threadSample.A","id":692815021},"returnValue":{"class":"void","id":0},"threadId":12,"time":1558785109531741}, +{"type":"methodExit","shortSignature":"threadSample.ThreadSample.1.run()","receiver":{"class":"threadSample.ThreadSample$1","id":752909931},"returnValue":{"class":"void","id":0},"threadId":12,"time":1558785109554381}, diff --git a/TracerOnJavassist/traces/_worstCase.txt b/TracerOnJavassist/traces/_worstCase.txt index c9f2678..d175a0f 100644 --- a/TracerOnJavassist/traces/_worstCase.txt +++ b/TracerOnJavassist/traces/_worstCase.txt @@ -1,119 +1,150 @@ -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":1638443495},"index":0,"value":{"class":"[Ljava.lang.String;","id":137014984}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":1638443495},"index":0,"value":{"class":"[Ljava.lang.String;","id":137014984}}, -{"type":"methodEntry","signature":"public static void worstCase.main.main(java.lang.String[])","receiver":{"class":"worstCase.main","id":0},"args":[{"class":"[Ljava.lang.String;","id":137014984}],"threadId":1,"time":1359377200761957}, -{"type":"blockEntry","methodSignature":"worstCase.main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"time":1359377200796369}, -{"type":"constructorEntry","signature":"worstCase.A()","class":"worstCase.A","args":[],"threadId":1,"time":1359377201958835}, -{"type":"constructorEntry","signature":"worstCase.B()","class":"worstCase.B","args":[],"threadId":1,"time":1359377202984559}, -{"type":"constructorEntry","signature":"worstCase.C()","class":"worstCase.C","args":[],"threadId":1,"time":1359377203742833}, -{"type":"constructorEntry","signature":"worstCase.D()","class":"worstCase.D","args":[],"threadId":1,"time":1359377205320359}, -{"type":"constructorEntry","signature":"worstCase.E()","class":"worstCase.E","args":[],"threadId":1,"time":1359377206481316}, -{"type":"constructorEntry","signature":"worstCase.F()","class":"worstCase.F","args":[],"threadId":1,"time":1359377207269173}, -{"type":"constructorEntry","signature":"worstCase.G()","class":"worstCase.G","args":[],"threadId":1,"time":1359377207968283}, -{"type":"constructorEntry","signature":"worstCase.H()","class":"worstCase.H","args":[],"threadId":1,"time":1359377208688523}, -{"type":"constructorEntry","signature":"worstCase.I()","class":"worstCase.I","args":[],"threadId":1,"time":1359377209419328}, -{"type":"constructorEntry","signature":"worstCase.J()","class":"worstCase.J","args":[],"threadId":1,"time":1359377210101836}, -{"type":"constructorEntry","signature":"worstCase.K()","class":"worstCase.K","args":[],"threadId":1,"time":1359377210785550}, -{"type":"constructorEntry","signature":"worstCase.L()","class":"worstCase.L","args":[],"threadId":1,"time":1359377211485566}, -{"type":"constructorEntry","signature":"public worstCase.M()","class":"worstCase.M","args":[],"threadId":1,"time":1359377212018048}, -{"type":"constructorExit","shortSignature":"worstCase.M()","returnValue":{"class":"worstCase.M","id":551940123},"threadId":1,"time":1359377212055479}, -{"type":"fieldSet","fieldName":"worstCase.L.m","container":{"class":"worstCase.L","id":1475775868},"value":{"class":"worstCase.M","id":551940123},"threadId":1,"time":1359377212088986}, -{"type":"constructorExit","shortSignature":"worstCase.L()","returnValue":{"class":"worstCase.L","id":1475775868},"threadId":1,"time":1359377212104381}, -{"type":"fieldSet","fieldName":"worstCase.K.l","container":{"class":"worstCase.K","id":2076374273},"value":{"class":"worstCase.L","id":1475775868},"threadId":1,"time":1359377212135170}, -{"type":"constructorExit","shortSignature":"worstCase.K()","returnValue":{"class":"worstCase.K","id":2076374273},"threadId":1,"time":1359377212150867}, -{"type":"fieldSet","fieldName":"worstCase.J.k","container":{"class":"worstCase.J","id":1013142561},"value":{"class":"worstCase.K","id":2076374273},"threadId":1,"time":1359377212180450}, -{"type":"constructorExit","shortSignature":"worstCase.J()","returnValue":{"class":"worstCase.J","id":1013142561},"threadId":1,"time":1359377212200071}, -{"type":"fieldSet","fieldName":"worstCase.I.j","container":{"class":"worstCase.I","id":489185664},"value":{"class":"worstCase.J","id":1013142561},"threadId":1,"time":1359377212251689}, -{"type":"constructorExit","shortSignature":"worstCase.I()","returnValue":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377212273725}, -{"type":"fieldSet","fieldName":"worstCase.H.i","container":{"class":"worstCase.H","id":1176054132},"value":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377212319909}, -{"type":"constructorExit","shortSignature":"worstCase.H()","returnValue":{"class":"worstCase.H","id":1176054132},"threadId":1,"time":1359377212335002}, -{"type":"fieldSet","fieldName":"worstCase.G.h","container":{"class":"worstCase.G","id":502309536},"value":{"class":"worstCase.H","id":1176054132},"threadId":1,"time":1359377212367603}, -{"type":"constructorExit","shortSignature":"worstCase.G()","returnValue":{"class":"worstCase.G","id":502309536},"threadId":1,"time":1359377212382093}, -{"type":"fieldSet","fieldName":"worstCase.F.g","container":{"class":"worstCase.F","id":558155195},"value":{"class":"worstCase.G","id":502309536},"threadId":1,"time":1359377212434315}, -{"type":"constructorExit","shortSignature":"worstCase.F()","returnValue":{"class":"worstCase.F","id":558155195},"threadId":1,"time":1359377212455143}, -{"type":"fieldSet","fieldName":"worstCase.E.f","container":{"class":"worstCase.E","id":705792269},"value":{"class":"worstCase.F","id":558155195},"threadId":1,"time":1359377212504044}, -{"type":"constructorExit","shortSignature":"worstCase.E()","returnValue":{"class":"worstCase.E","id":705792269},"threadId":1,"time":1359377212526081}, -{"type":"fieldSet","fieldName":"worstCase.D.e","container":{"class":"worstCase.D","id":1698482702},"value":{"class":"worstCase.E","id":705792269},"threadId":1,"time":1359377212563511}, -{"type":"constructorExit","shortSignature":"worstCase.D()","returnValue":{"class":"worstCase.D","id":1698482702},"threadId":1,"time":1359377212578906}, -{"type":"fieldSet","fieldName":"worstCase.C.d","container":{"class":"worstCase.C","id":2046136590},"value":{"class":"worstCase.D","id":1698482702},"threadId":1,"time":1359377212609696}, -{"type":"constructorExit","shortSignature":"worstCase.C()","returnValue":{"class":"worstCase.C","id":2046136590},"threadId":1,"time":1359377212625393}, -{"type":"fieldSet","fieldName":"worstCase.B.c","container":{"class":"worstCase.B","id":1762028719},"value":{"class":"worstCase.C","id":2046136590},"threadId":1,"time":1359377212656786}, -{"type":"constructorExit","shortSignature":"worstCase.B()","returnValue":{"class":"worstCase.B","id":1762028719},"threadId":1,"time":1359377212671577}, -{"type":"fieldSet","fieldName":"worstCase.A.b","container":{"class":"worstCase.A","id":617188103},"value":{"class":"worstCase.B","id":1762028719},"threadId":1,"time":1359377212702669}, -{"type":"constructorEntry","signature":"worstCase.N()","class":"worstCase.N","args":[],"threadId":1,"time":1359377213581990}, -{"type":"constructorEntry","signature":"worstCase.O()","class":"worstCase.O","args":[],"threadId":1,"time":1359377214492402}, -{"type":"constructorEntry","signature":"worstCase.P()","class":"worstCase.P","args":[],"threadId":1,"time":1359377215389835}, -{"type":"constructorExit","shortSignature":"worstCase.P()","returnValue":{"class":"worstCase.P","id":783581626},"threadId":1,"time":1359377215442962}, -{"type":"fieldSet","fieldName":"worstCase.O.p","container":{"class":"worstCase.O","id":1286664778},"value":{"class":"worstCase.P","id":783581626},"threadId":1,"time":1359377215496392}, -{"type":"constructorExit","shortSignature":"worstCase.O()","returnValue":{"class":"worstCase.O","id":1286664778},"threadId":1,"time":1359377215519333}, -{"type":"fieldSet","fieldName":"worstCase.N.o","container":{"class":"worstCase.N","id":1962082203},"value":{"class":"worstCase.O","id":1286664778},"threadId":1,"time":1359377215571555}, -{"type":"constructorExit","shortSignature":"worstCase.N()","returnValue":{"class":"worstCase.N","id":1962082203},"threadId":1,"time":1359377215593591}, -{"type":"fieldSet","fieldName":"worstCase.A.n","container":{"class":"worstCase.A","id":617188103},"value":{"class":"worstCase.N","id":1962082203},"threadId":1,"time":1359377215627701}, -{"type":"constructorExit","shortSignature":"worstCase.A()","returnValue":{"class":"worstCase.A","id":617188103},"threadId":1,"time":1359377215656076}, -{"type":"methodEntry","signature":"void worstCase.A.m()","receiver":{"class":"worstCase.A","id":617188103},"args":[],"threadId":1,"time":1359377215691394}, -{"type":"blockEntry","methodSignature":"worstCase.A.m()","blockId":0,"incomings":0,"threadId":1,"time":1359377215711015}, -{"type":"fieldGet","fieldName":"worstCase.A.n","this":{"class":"worstCase.A","id":617188103},"container":{"class":"worstCase.A","id":617188103},"value":{"class":"worstCase.N","id":1962082203},"threadId":1,"time":1359377215752974}, -{"type":"fieldGet","fieldName":"worstCase.A.b","this":{"class":"worstCase.A","id":617188103},"container":{"class":"worstCase.A","id":617188103},"value":{"class":"worstCase.B","id":1762028719},"threadId":1,"time":1359377215790404}, -{"type":"methodEntry","signature":"worstCase.I worstCase.B.getI()","receiver":{"class":"worstCase.B","id":1762028719},"args":[],"threadId":1,"time":1359377215820590}, -{"type":"blockEntry","methodSignature":"worstCase.B.getI()","blockId":0,"incomings":0,"threadId":1,"time":1359377215839004}, -{"type":"fieldGet","fieldName":"worstCase.B.c","this":{"class":"worstCase.B","id":1762028719},"container":{"class":"worstCase.B","id":1762028719},"value":{"class":"worstCase.C","id":2046136590},"threadId":1,"time":1359377215875529}, -{"type":"methodEntry","signature":"worstCase.F worstCase.C.getF()","receiver":{"class":"worstCase.C","id":2046136590},"args":[],"threadId":1,"time":1359377215904810}, -{"type":"blockEntry","methodSignature":"worstCase.C.getF()","blockId":0,"incomings":0,"threadId":1,"time":1359377215922619}, -{"type":"fieldGet","fieldName":"worstCase.C.d","this":{"class":"worstCase.C","id":2046136590},"container":{"class":"worstCase.C","id":2046136590},"value":{"class":"worstCase.D","id":1698482702},"threadId":1,"time":1359377215959446}, -{"type":"methodEntry","signature":"worstCase.E worstCase.D.getE()","receiver":{"class":"worstCase.D","id":1698482702},"args":[],"threadId":1,"time":1359377215989633}, -{"type":"blockEntry","methodSignature":"worstCase.D.getE()","blockId":0,"incomings":0,"threadId":1,"time":1359377216006537}, -{"type":"fieldGet","fieldName":"worstCase.D.e","this":{"class":"worstCase.D","id":1698482702},"container":{"class":"worstCase.D","id":1698482702},"value":{"class":"worstCase.E","id":705792269},"threadId":1,"time":1359377216047288}, -{"type":"methodExit","shortSignature":"worstCase.D.getE()","receiver":{"class":"worstCase.D","id":1698482702},"returnValue":{"class":"worstCase.E","id":705792269},"threadId":1,"time":1359377216085021}, -{"type":"methodEntry","signature":"worstCase.F worstCase.E.getF()","receiver":{"class":"worstCase.E","id":705792269},"args":[],"threadId":1,"time":1359377216120942}, -{"type":"blockEntry","methodSignature":"worstCase.E.getF()","blockId":0,"incomings":0,"threadId":1,"time":1359377216141468}, -{"type":"fieldGet","fieldName":"worstCase.E.f","this":{"class":"worstCase.E","id":705792269},"container":{"class":"worstCase.E","id":705792269},"value":{"class":"worstCase.F","id":558155195},"threadId":1,"time":1359377216175277}, -{"type":"methodExit","shortSignature":"worstCase.E.getF()","receiver":{"class":"worstCase.E","id":705792269},"returnValue":{"class":"worstCase.F","id":558155195},"threadId":1,"time":1359377216205765}, -{"type":"methodExit","shortSignature":"worstCase.C.getF()","receiver":{"class":"worstCase.C","id":2046136590},"returnValue":{"class":"worstCase.F","id":558155195},"threadId":1,"time":1359377216234442}, -{"type":"methodEntry","signature":"worstCase.I worstCase.F.getI()","receiver":{"class":"worstCase.F","id":558155195},"args":[],"threadId":1,"time":1359377216265533}, -{"type":"blockEntry","methodSignature":"worstCase.F.getI()","blockId":0,"incomings":0,"threadId":1,"time":1359377216283645}, -{"type":"fieldGet","fieldName":"worstCase.F.g","this":{"class":"worstCase.F","id":558155195},"container":{"class":"worstCase.F","id":558155195},"value":{"class":"worstCase.G","id":502309536},"threadId":1,"time":1359377216316246}, -{"type":"methodEntry","signature":"worstCase.H worstCase.G.getH()","receiver":{"class":"worstCase.G","id":502309536},"args":[],"threadId":1,"time":1359377216355488}, -{"type":"blockEntry","methodSignature":"worstCase.G.getH()","blockId":0,"incomings":0,"threadId":1,"time":1359377216376014}, -{"type":"fieldGet","fieldName":"worstCase.G.h","this":{"class":"worstCase.G","id":502309536},"container":{"class":"worstCase.G","id":502309536},"value":{"class":"worstCase.H","id":1176054132},"threadId":1,"time":1359377216413143}, -{"type":"methodExit","shortSignature":"worstCase.G.getH()","receiver":{"class":"worstCase.G","id":502309536},"returnValue":{"class":"worstCase.H","id":1176054132},"threadId":1,"time":1359377216444537}, -{"type":"methodEntry","signature":"worstCase.I worstCase.H.getI()","receiver":{"class":"worstCase.H","id":1176054132},"args":[],"threadId":1,"time":1359377216478044}, -{"type":"blockEntry","methodSignature":"worstCase.H.getI()","blockId":0,"incomings":0,"threadId":1,"time":1359377216497966}, -{"type":"fieldGet","fieldName":"worstCase.H.i","this":{"class":"worstCase.H","id":1176054132},"container":{"class":"worstCase.H","id":1176054132},"value":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377216535095}, -{"type":"methodExit","shortSignature":"worstCase.H.getI()","receiver":{"class":"worstCase.H","id":1176054132},"returnValue":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377216571319}, -{"type":"methodExit","shortSignature":"worstCase.F.getI()","receiver":{"class":"worstCase.F","id":558155195},"returnValue":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377216607844}, -{"type":"methodExit","shortSignature":"worstCase.B.getI()","receiver":{"class":"worstCase.B","id":1762028719},"returnValue":{"class":"worstCase.I","id":489185664},"threadId":1,"time":1359377216641652}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":2104186136},"index":0,"value":{"class":"worstCase.I","id":489185664}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":2104186136},"index":0,"value":{"class":"worstCase.I","id":489185664}}, -{"type":"methodEntry","signature":"void worstCase.N.passI(worstCase.I)","receiver":{"class":"worstCase.N","id":1962082203},"args":[{"class":"worstCase.I","id":489185664}],"threadId":1,"time":1359377216858086}, -{"type":"blockEntry","methodSignature":"worstCase.N.passI(worstCase.I)","blockId":0,"incomings":0,"threadId":1,"time":1359377216876500}, -{"type":"fieldGet","fieldName":"worstCase.N.o","this":{"class":"worstCase.N","id":1962082203},"container":{"class":"worstCase.N","id":1962082203},"value":{"class":"worstCase.O","id":1286664778},"threadId":1,"time":1359377216914836}, -{"type":"methodEntry","signature":"worstCase.L worstCase.I.getL()","receiver":{"class":"worstCase.I","id":489185664},"args":[],"threadId":1,"time":1359377216949550}, -{"type":"blockEntry","methodSignature":"worstCase.I.getL()","blockId":0,"incomings":0,"threadId":1,"time":1359377216969171}, -{"type":"fieldGet","fieldName":"worstCase.I.j","this":{"class":"worstCase.I","id":489185664},"container":{"class":"worstCase.I","id":489185664},"value":{"class":"worstCase.J","id":1013142561},"threadId":1,"time":1359377217007206}, -{"type":"methodEntry","signature":"worstCase.K worstCase.J.getK()","receiver":{"class":"worstCase.J","id":1013142561},"args":[],"threadId":1,"time":1359377217039505}, -{"type":"blockEntry","methodSignature":"worstCase.J.getK()","blockId":0,"incomings":0,"threadId":1,"time":1359377217059126}, -{"type":"fieldGet","fieldName":"worstCase.J.k","this":{"class":"worstCase.J","id":1013142561},"container":{"class":"worstCase.J","id":1013142561},"value":{"class":"worstCase.K","id":2076374273},"threadId":1,"time":1359377217093840}, -{"type":"methodExit","shortSignature":"worstCase.J.getK()","receiver":{"class":"worstCase.J","id":1013142561},"returnValue":{"class":"worstCase.K","id":2076374273},"threadId":1,"time":1359377217122516}, -{"type":"methodEntry","signature":"worstCase.L worstCase.K.getL()","receiver":{"class":"worstCase.K","id":2076374273},"args":[],"threadId":1,"time":1359377217159344}, -{"type":"blockEntry","methodSignature":"worstCase.K.getL()","blockId":0,"incomings":0,"threadId":1,"time":1359377217180474}, -{"type":"fieldGet","fieldName":"worstCase.K.l","this":{"class":"worstCase.K","id":2076374273},"container":{"class":"worstCase.K","id":2076374273},"value":{"class":"worstCase.L","id":1475775868},"threadId":1,"time":1359377217220320}, -{"type":"methodExit","shortSignature":"worstCase.K.getL()","receiver":{"class":"worstCase.K","id":2076374273},"returnValue":{"class":"worstCase.L","id":1475775868},"threadId":1,"time":1359377217255335}, -{"type":"methodExit","shortSignature":"worstCase.I.getL()","receiver":{"class":"worstCase.I","id":489185664},"returnValue":{"class":"worstCase.L","id":1475775868},"threadId":1,"time":1359377217290049}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":295688956},"index":0,"value":{"class":"worstCase.L","id":1475775868}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":295688956},"index":0,"value":{"class":"worstCase.L","id":1475775868}}, -{"type":"methodEntry","signature":"void worstCase.O.passL(worstCase.L)","receiver":{"class":"worstCase.O","id":1286664778},"args":[{"class":"worstCase.L","id":1475775868}],"threadId":1,"time":1359377217507993}, -{"type":"blockEntry","methodSignature":"worstCase.O.passL(worstCase.L)","blockId":0,"incomings":0,"threadId":1,"time":1359377217527614}, -{"type":"fieldGet","fieldName":"worstCase.O.p","this":{"class":"worstCase.O","id":1286664778},"container":{"class":"worstCase.O","id":1286664778},"value":{"class":"worstCase.P","id":783581626},"threadId":1,"time":1359377217566554}, -{"type":"methodEntry","signature":"worstCase.M worstCase.L.getM()","receiver":{"class":"worstCase.L","id":1475775868},"args":[],"threadId":1,"time":1359377217600362}, -{"type":"blockEntry","methodSignature":"worstCase.L.getM()","blockId":0,"incomings":0,"threadId":1,"time":1359377217616361}, -{"type":"fieldGet","fieldName":"worstCase.L.m","this":{"class":"worstCase.L","id":1475775868},"container":{"class":"worstCase.L","id":1475775868},"value":{"class":"worstCase.M","id":551940123},"threadId":1,"time":1359377217651981}, -{"type":"methodExit","shortSignature":"worstCase.L.getM()","receiver":{"class":"worstCase.L","id":1475775868},"returnValue":{"class":"worstCase.M","id":551940123},"threadId":1,"time":1359377217682770}, -{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":367124334},"index":0,"value":{"class":"worstCase.M","id":551940123}}, -{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":367124334},"index":0,"value":{"class":"worstCase.M","id":551940123}}, -{"type":"methodEntry","signature":"void worstCase.P.setM(worstCase.M)","receiver":{"class":"worstCase.P","id":783581626},"args":[{"class":"worstCase.M","id":551940123}],"threadId":1,"time":1359377217873546}, -{"type":"blockEntry","methodSignature":"worstCase.P.setM(worstCase.M)","blockId":0,"incomings":0,"threadId":1,"time":1359377217891356}, -{"type":"fieldSet","fieldName":"worstCase.P.m","container":{"class":"worstCase.P","id":783581626},"value":{"class":"worstCase.M","id":551940123},"threadId":1,"time":1359377217954143}, -{"type":"methodExit","shortSignature":"worstCase.P.setM(worstCase.M)","receiver":{"class":"worstCase.P","id":783581626},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359377217992178}, -{"type":"methodExit","shortSignature":"worstCase.O.passL(worstCase.L)","receiver":{"class":"worstCase.O","id":1286664778},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359377218028703}, -{"type":"methodExit","shortSignature":"worstCase.N.passI(worstCase.I)","receiver":{"class":"worstCase.N","id":1962082203},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359377218065228}, -{"type":"methodExit","shortSignature":"worstCase.A.m()","receiver":{"class":"worstCase.A","id":617188103},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359377218102659}, -{"type":"methodExit","shortSignature":"worstCase.main.main(java.lang.String[])","receiver":{"class":"worstCase.main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1359377218127411}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":725664697},"index":0,"value":{"class":"[Ljava.lang.String;","id":686931166},"threadId":1,"time":1558854657311494}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":725664697},"index":0,"value":{"class":"[Ljava.lang.String;","id":686931166},"threadId":1,"time":1558854660215094}, +{"type":"methodEntry","signature":"public static void worstCase.main.main(java.lang.String[])","receiver":{"class":"worstCase.main","id":0},"args":[{"class":"[Ljava.lang.String;","id":686931166}],"threadId":1,"time":1558854660320443}, +{"type":"blockEntry","methodSignature":"worstCase.main.main(java.lang.String[])","blockId":0,"incomings":0,"threadId":1,"lineNum":10,"time":1558854660340668}, +{"type":"methodCall","callerSideSignature":"worstCase.A()","threadId":1,"lineNum":10}, +{"type":"constructorEntry","signature":"worstCase.A()","class":"worstCase.A","args":[],"threadId":1,"time":1558854661140901}, +{"type":"methodCall","callerSideSignature":"worstCase.B()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.B()","class":"worstCase.B","args":[],"threadId":1,"time":1558854661825522}, +{"type":"methodCall","callerSideSignature":"worstCase.C()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.C()","class":"worstCase.C","args":[],"threadId":1,"time":1558854662554214}, +{"type":"methodCall","callerSideSignature":"worstCase.D()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.D()","class":"worstCase.D","args":[],"threadId":1,"time":1558854663227364}, +{"type":"methodCall","callerSideSignature":"worstCase.E()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.E()","class":"worstCase.E","args":[],"threadId":1,"time":1558854663879987}, +{"type":"methodCall","callerSideSignature":"worstCase.F()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.F()","class":"worstCase.F","args":[],"threadId":1,"time":1558854664569437}, +{"type":"methodCall","callerSideSignature":"worstCase.G()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.G()","class":"worstCase.G","args":[],"threadId":1,"time":1558854665221457}, +{"type":"methodCall","callerSideSignature":"worstCase.H()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.H()","class":"worstCase.H","args":[],"threadId":1,"time":1558854665883136}, +{"type":"methodCall","callerSideSignature":"worstCase.I()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.I()","class":"worstCase.I","args":[],"threadId":1,"time":1558854666556890}, +{"type":"methodCall","callerSideSignature":"worstCase.J()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.J()","class":"worstCase.J","args":[],"threadId":1,"time":1558854667207400}, +{"type":"methodCall","callerSideSignature":"worstCase.K()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.K()","class":"worstCase.K","args":[],"threadId":1,"time":1558854667854288}, +{"type":"methodCall","callerSideSignature":"worstCase.L()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.L()","class":"worstCase.L","args":[],"threadId":1,"time":1558854668660256}, +{"type":"methodCall","callerSideSignature":"worstCase.M()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"public worstCase.M()","class":"worstCase.M","args":[],"threadId":1,"time":1558854669980294}, +{"type":"constructorExit","shortSignature":"worstCase.M()","returnValue":{"class":"worstCase.M","id":1405564815},"threadId":1,"time":1558854670026781}, +{"type":"fieldSet","fieldName":"worstCase.L.m","container":{"class":"worstCase.L","id":1007728705},"value":{"class":"worstCase.M","id":1405564815},"threadId":1,"lineNum":4,"time":1558854670072060}, +{"type":"constructorExit","shortSignature":"worstCase.L()","returnValue":{"class":"worstCase.L","id":1007728705},"threadId":1,"time":1558854670088964}, +{"type":"fieldSet","fieldName":"worstCase.K.l","container":{"class":"worstCase.K","id":1840304693},"value":{"class":"worstCase.L","id":1007728705},"threadId":1,"lineNum":4,"time":1558854670124282}, +{"type":"constructorExit","shortSignature":"worstCase.K()","returnValue":{"class":"worstCase.K","id":1840304693},"threadId":1,"time":1558854670147223}, +{"type":"fieldSet","fieldName":"worstCase.J.k","container":{"class":"worstCase.J","id":1941491157},"value":{"class":"worstCase.K","id":1840304693},"threadId":1,"lineNum":4,"time":1558854670182239}, +{"type":"constructorExit","shortSignature":"worstCase.J()","returnValue":{"class":"worstCase.J","id":1941491157},"threadId":1,"time":1558854670200049}, +{"type":"fieldSet","fieldName":"worstCase.I.j","container":{"class":"worstCase.I","id":1775343181},"value":{"class":"worstCase.J","id":1941491157},"threadId":1,"lineNum":4,"time":1558854670237480}, +{"type":"constructorExit","shortSignature":"worstCase.I()","returnValue":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854670256195}, +{"type":"fieldSet","fieldName":"worstCase.H.i","container":{"class":"worstCase.H","id":1055051649},"value":{"class":"worstCase.I","id":1775343181},"threadId":1,"lineNum":4,"time":1558854670294229}, +{"type":"constructorExit","shortSignature":"worstCase.H()","returnValue":{"class":"worstCase.H","id":1055051649},"threadId":1,"time":1558854670310228}, +{"type":"fieldSet","fieldName":"worstCase.G.h","container":{"class":"worstCase.G","id":480591464},"value":{"class":"worstCase.H","id":1055051649},"threadId":1,"lineNum":4,"time":1558854670347055}, +{"type":"constructorExit","shortSignature":"worstCase.G()","returnValue":{"class":"worstCase.G","id":480591464},"threadId":1,"time":1558854670362148}, +{"type":"fieldSet","fieldName":"worstCase.F.g","container":{"class":"worstCase.F","id":614739081},"value":{"class":"worstCase.G","id":480591464},"threadId":1,"lineNum":4,"time":1558854670398673}, +{"type":"constructorExit","shortSignature":"worstCase.F()","returnValue":{"class":"worstCase.F","id":614739081},"threadId":1,"time":1558854670414068}, +{"type":"fieldSet","fieldName":"worstCase.E.f","container":{"class":"worstCase.E","id":375908650},"value":{"class":"worstCase.F","id":614739081},"threadId":1,"lineNum":4,"time":1558854670456631}, +{"type":"constructorExit","shortSignature":"worstCase.E()","returnValue":{"class":"worstCase.E","id":375908650},"threadId":1,"time":1558854670479874}, +{"type":"fieldSet","fieldName":"worstCase.D.e","container":{"class":"worstCase.D","id":2147274723},"value":{"class":"worstCase.E","id":375908650},"threadId":1,"lineNum":4,"time":1558854670523040}, +{"type":"constructorExit","shortSignature":"worstCase.D()","returnValue":{"class":"worstCase.D","id":2147274723},"threadId":1,"time":1558854670540246}, +{"type":"fieldSet","fieldName":"worstCase.C.d","container":{"class":"worstCase.C","id":783581626},"value":{"class":"worstCase.D","id":2147274723},"threadId":1,"lineNum":4,"time":1558854670577073}, +{"type":"constructorExit","shortSignature":"worstCase.C()","returnValue":{"class":"worstCase.C","id":783581626},"threadId":1,"time":1558854670599109}, +{"type":"fieldSet","fieldName":"worstCase.B.c","container":{"class":"worstCase.B","id":1286664778},"value":{"class":"worstCase.C","id":783581626},"threadId":1,"lineNum":4,"time":1558854670637143}, +{"type":"constructorExit","shortSignature":"worstCase.B()","returnValue":{"class":"worstCase.B","id":1286664778},"threadId":1,"time":1558854670653142}, +{"type":"fieldSet","fieldName":"worstCase.A.b","container":{"class":"worstCase.A","id":1962082203},"value":{"class":"worstCase.B","id":1286664778},"threadId":1,"lineNum":4,"time":1558854670695403}, +{"type":"methodCall","callerSideSignature":"worstCase.N()","threadId":1,"lineNum":5}, +{"type":"constructorEntry","signature":"worstCase.N()","class":"worstCase.N","args":[],"threadId":1,"time":1558854672150372}, +{"type":"methodCall","callerSideSignature":"worstCase.O()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.O()","class":"worstCase.O","args":[],"threadId":1,"time":1558854673441431}, +{"type":"methodCall","callerSideSignature":"worstCase.P()","threadId":1,"lineNum":4}, +{"type":"constructorEntry","signature":"worstCase.P()","class":"worstCase.P","args":[],"threadId":1,"time":1558854674608728}, +{"type":"constructorExit","shortSignature":"worstCase.P()","returnValue":{"class":"worstCase.P","id":286234206},"threadId":1,"time":1558854674674835}, +{"type":"fieldSet","fieldName":"worstCase.O.p","container":{"class":"worstCase.O","id":374930962},"value":{"class":"worstCase.P","id":286234206},"threadId":1,"lineNum":4,"time":1558854674736113}, +{"type":"constructorExit","shortSignature":"worstCase.O()","returnValue":{"class":"worstCase.O","id":374930962},"threadId":1,"time":1558854674767204}, +{"type":"fieldSet","fieldName":"worstCase.N.o","container":{"class":"worstCase.N","id":747658036},"value":{"class":"worstCase.O","id":374930962},"threadId":1,"lineNum":4,"time":1558854674826671}, +{"type":"constructorExit","shortSignature":"worstCase.N()","returnValue":{"class":"worstCase.N","id":747658036},"threadId":1,"time":1558854674852631}, +{"type":"fieldSet","fieldName":"worstCase.A.n","container":{"class":"worstCase.A","id":1962082203},"value":{"class":"worstCase.N","id":747658036},"threadId":1,"lineNum":5,"time":1558854674889760}, +{"type":"constructorExit","shortSignature":"worstCase.A()","returnValue":{"class":"worstCase.A","id":1962082203},"threadId":1,"time":1558854674914211}, +{"type":"methodCall","callerSideSignature":"worstCase.A.m()","threadId":1,"lineNum":11}, +{"type":"methodEntry","signature":"void worstCase.A.m()","receiver":{"class":"worstCase.A","id":1962082203},"args":[],"threadId":1,"time":1558854674968546}, +{"type":"blockEntry","methodSignature":"worstCase.A.m()","blockId":0,"incomings":0,"threadId":1,"lineNum":7,"time":1558854674990582}, +{"type":"fieldGet","fieldName":"worstCase.A.n","this":{"class":"worstCase.A","id":1962082203},"container":{"class":"worstCase.A","id":1962082203},"value":{"class":"worstCase.N","id":747658036},"threadId":1,"lineNum":7,"time":1558854675035257}, +{"type":"fieldGet","fieldName":"worstCase.A.b","this":{"class":"worstCase.A","id":1962082203},"container":{"class":"worstCase.A","id":1962082203},"value":{"class":"worstCase.B","id":1286664778},"threadId":1,"lineNum":7,"time":1558854675079631}, +{"type":"methodCall","callerSideSignature":"worstCase.B.getI()","threadId":1,"lineNum":7}, +{"type":"methodEntry","signature":"worstCase.I worstCase.B.getI()","receiver":{"class":"worstCase.B","id":1286664778},"args":[],"threadId":1,"time":1558854675133362}, +{"type":"blockEntry","methodSignature":"worstCase.B.getI()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675159322}, +{"type":"fieldGet","fieldName":"worstCase.B.c","this":{"class":"worstCase.B","id":1286664778},"container":{"class":"worstCase.B","id":1286664778},"value":{"class":"worstCase.C","id":783581626},"threadId":1,"lineNum":6,"time":1558854675202186}, +{"type":"methodCall","callerSideSignature":"worstCase.C.getF()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.F worstCase.C.getF()","receiver":{"class":"worstCase.C","id":783581626},"args":[],"threadId":1,"time":1558854675249578}, +{"type":"blockEntry","methodSignature":"worstCase.C.getF()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675270407}, +{"type":"fieldGet","fieldName":"worstCase.C.d","this":{"class":"worstCase.C","id":783581626},"container":{"class":"worstCase.C","id":783581626},"value":{"class":"worstCase.D","id":2147274723},"threadId":1,"lineNum":6,"time":1558854675313271}, +{"type":"methodCall","callerSideSignature":"worstCase.D.getE()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.E worstCase.D.getE()","receiver":{"class":"worstCase.D","id":2147274723},"args":[],"threadId":1,"time":1558854675403829}, +{"type":"blockEntry","methodSignature":"worstCase.D.getE()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675432808}, +{"type":"fieldGet","fieldName":"worstCase.D.e","this":{"class":"worstCase.D","id":2147274723},"container":{"class":"worstCase.D","id":2147274723},"value":{"class":"worstCase.E","id":375908650},"threadId":1,"lineNum":6,"time":1558854675487445}, +{"type":"methodExit","shortSignature":"worstCase.D.getE()","receiver":{"class":"worstCase.D","id":2147274723},"returnValue":{"class":"worstCase.E","id":375908650},"threadId":1,"time":1558854675524272}, +{"type":"methodCall","callerSideSignature":"worstCase.E.getF()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.F worstCase.E.getF()","receiver":{"class":"worstCase.E","id":375908650},"args":[],"threadId":1,"time":1558854675559288}, +{"type":"blockEntry","methodSignature":"worstCase.E.getF()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675571966}, +{"type":"fieldGet","fieldName":"worstCase.E.f","this":{"class":"worstCase.E","id":375908650},"container":{"class":"worstCase.E","id":375908650},"value":{"class":"worstCase.F","id":614739081},"threadId":1,"lineNum":6,"time":1558854675605774}, +{"type":"methodExit","shortSignature":"worstCase.E.getF()","receiver":{"class":"worstCase.E","id":375908650},"returnValue":{"class":"worstCase.F","id":614739081},"threadId":1,"time":1558854675635960}, +{"type":"methodExit","shortSignature":"worstCase.C.getF()","receiver":{"class":"worstCase.C","id":783581626},"returnValue":{"class":"worstCase.F","id":614739081},"threadId":1,"time":1558854675666146}, +{"type":"methodCall","callerSideSignature":"worstCase.F.getI()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.I worstCase.F.getI()","receiver":{"class":"worstCase.F","id":614739081},"args":[],"threadId":1,"time":1558854675710218}, +{"type":"blockEntry","methodSignature":"worstCase.F.getI()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675729839}, +{"type":"fieldGet","fieldName":"worstCase.F.g","this":{"class":"worstCase.F","id":614739081},"container":{"class":"worstCase.F","id":614739081},"value":{"class":"worstCase.G","id":480591464},"threadId":1,"lineNum":6,"time":1558854675765459}, +{"type":"methodCall","callerSideSignature":"worstCase.G.getH()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.H worstCase.G.getH()","receiver":{"class":"worstCase.G","id":480591464},"args":[],"threadId":1,"time":1558854675807719}, +{"type":"blockEntry","methodSignature":"worstCase.G.getH()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675826434}, +{"type":"fieldGet","fieldName":"worstCase.G.h","this":{"class":"worstCase.G","id":480591464},"container":{"class":"worstCase.G","id":480591464},"value":{"class":"worstCase.H","id":1055051649},"threadId":1,"lineNum":6,"time":1558854675861752}, +{"type":"methodExit","shortSignature":"worstCase.G.getH()","receiver":{"class":"worstCase.G","id":480591464},"returnValue":{"class":"worstCase.H","id":1055051649},"threadId":1,"time":1558854675891335}, +{"type":"methodCall","callerSideSignature":"worstCase.H.getI()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.I worstCase.H.getI()","receiver":{"class":"worstCase.H","id":1055051649},"args":[],"threadId":1,"time":1558854675933595}, +{"type":"blockEntry","methodSignature":"worstCase.H.getI()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854675951103}, +{"type":"fieldGet","fieldName":"worstCase.H.i","this":{"class":"worstCase.H","id":1055051649},"container":{"class":"worstCase.H","id":1055051649},"value":{"class":"worstCase.I","id":1775343181},"threadId":1,"lineNum":6,"time":1558854675987024}, +{"type":"methodExit","shortSignature":"worstCase.H.getI()","receiver":{"class":"worstCase.H","id":1055051649},"returnValue":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854676016003}, +{"type":"methodExit","shortSignature":"worstCase.F.getI()","receiver":{"class":"worstCase.F","id":614739081},"returnValue":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854676044378}, +{"type":"methodExit","shortSignature":"worstCase.B.getI()","receiver":{"class":"worstCase.B","id":1286664778},"returnValue":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854676073659}, +{"type":"methodCall","callerSideSignature":"worstCase.N.passI(worstCase.I)","threadId":1,"lineNum":7}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":961792455},"index":0,"value":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854676120447}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":961792455},"index":0,"value":{"class":"worstCase.I","id":1775343181},"threadId":1,"time":1558854676217948}, +{"type":"methodEntry","signature":"void worstCase.N.passI(worstCase.I)","receiver":{"class":"worstCase.N","id":747658036},"args":[{"class":"worstCase.I","id":1775343181}],"threadId":1,"time":1558854676325109}, +{"type":"blockEntry","methodSignature":"worstCase.N.passI(worstCase.I)","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854676344730}, +{"type":"fieldGet","fieldName":"worstCase.N.o","this":{"class":"worstCase.N","id":747658036},"container":{"class":"worstCase.N","id":747658036},"value":{"class":"worstCase.O","id":374930962},"threadId":1,"lineNum":6,"time":1558854676379444}, +{"type":"methodCall","callerSideSignature":"worstCase.I.getL()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.L worstCase.I.getL()","receiver":{"class":"worstCase.I","id":1775343181},"args":[],"threadId":1,"time":1558854676426232}, +{"type":"blockEntry","methodSignature":"worstCase.I.getL()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854676452796}, +{"type":"fieldGet","fieldName":"worstCase.I.j","this":{"class":"worstCase.I","id":1775343181},"container":{"class":"worstCase.I","id":1775343181},"value":{"class":"worstCase.J","id":1941491157},"threadId":1,"lineNum":6,"time":1558854676489321}, +{"type":"methodCall","callerSideSignature":"worstCase.J.getK()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.K worstCase.J.getK()","receiver":{"class":"worstCase.J","id":1941491157},"args":[],"threadId":1,"time":1558854676533694}, +{"type":"blockEntry","methodSignature":"worstCase.J.getK()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854676552108}, +{"type":"fieldGet","fieldName":"worstCase.J.k","this":{"class":"worstCase.J","id":1941491157},"container":{"class":"worstCase.J","id":1941491157},"value":{"class":"worstCase.K","id":1840304693},"threadId":1,"lineNum":6,"time":1558854676587124}, +{"type":"methodExit","shortSignature":"worstCase.J.getK()","receiver":{"class":"worstCase.J","id":1941491157},"returnValue":{"class":"worstCase.K","id":1840304693},"threadId":1,"time":1558854676616405}, +{"type":"methodCall","callerSideSignature":"worstCase.K.getL()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.L worstCase.K.getL()","receiver":{"class":"worstCase.K","id":1840304693},"args":[],"threadId":1,"time":1558854676658061}, +{"type":"blockEntry","methodSignature":"worstCase.K.getL()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854676676173}, +{"type":"fieldGet","fieldName":"worstCase.K.l","this":{"class":"worstCase.K","id":1840304693},"container":{"class":"worstCase.K","id":1840304693},"value":{"class":"worstCase.L","id":1007728705},"threadId":1,"lineNum":6,"time":1558854676710585}, +{"type":"methodExit","shortSignature":"worstCase.K.getL()","receiver":{"class":"worstCase.K","id":1840304693},"returnValue":{"class":"worstCase.L","id":1007728705},"threadId":1,"time":1558854676740168}, +{"type":"methodExit","shortSignature":"worstCase.I.getL()","receiver":{"class":"worstCase.I","id":1775343181},"returnValue":{"class":"worstCase.L","id":1007728705},"threadId":1,"time":1558854676769750}, +{"type":"methodCall","callerSideSignature":"worstCase.O.passL(worstCase.L)","threadId":1,"lineNum":6}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":736380216},"index":0,"value":{"class":"worstCase.L","id":1007728705},"threadId":1,"time":1558854676814123}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":736380216},"index":0,"value":{"class":"worstCase.L","id":1007728705},"threadId":1,"time":1558854676905587}, +{"type":"methodEntry","signature":"void worstCase.O.passL(worstCase.L)","receiver":{"class":"worstCase.O","id":374930962},"args":[{"class":"worstCase.L","id":1007728705}],"threadId":1,"time":1558854677004597}, +{"type":"blockEntry","methodSignature":"worstCase.O.passL(worstCase.L)","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854677023313}, +{"type":"fieldGet","fieldName":"worstCase.O.p","this":{"class":"worstCase.O","id":374930962},"container":{"class":"worstCase.O","id":374930962},"value":{"class":"worstCase.P","id":286234206},"threadId":1,"lineNum":6,"time":1558854677060442}, +{"type":"methodCall","callerSideSignature":"worstCase.L.getM()","threadId":1,"lineNum":6}, +{"type":"methodEntry","signature":"worstCase.M worstCase.L.getM()","receiver":{"class":"worstCase.L","id":1007728705},"args":[],"threadId":1,"time":1558854677103608}, +{"type":"blockEntry","methodSignature":"worstCase.L.getM()","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854677120210}, +{"type":"fieldGet","fieldName":"worstCase.L.m","this":{"class":"worstCase.L","id":1007728705},"container":{"class":"worstCase.L","id":1007728705},"value":{"class":"worstCase.M","id":1405564815},"threadId":1,"lineNum":6,"time":1558854677156434}, +{"type":"methodExit","shortSignature":"worstCase.L.getM()","receiver":{"class":"worstCase.L","id":1007728705},"returnValue":{"class":"worstCase.M","id":1405564815},"threadId":1,"time":1558854677184205}, +{"type":"methodCall","callerSideSignature":"worstCase.P.setM(worstCase.M)","threadId":1,"lineNum":6}, +{"type":"arraySet","array":{"class":"[Ljava.lang.Object;","id":394032651},"index":0,"value":{"class":"worstCase.M","id":1405564815},"threadId":1,"time":1558854677228578}, +{"type":"arrayGet","array":{"class":"[Ljava.lang.Object;","id":394032651},"index":0,"value":{"class":"worstCase.M","id":1405564815},"threadId":1,"time":1558854677318835}, +{"type":"methodEntry","signature":"void worstCase.P.setM(worstCase.M)","receiver":{"class":"worstCase.P","id":286234206},"args":[{"class":"worstCase.M","id":1405564815}],"threadId":1,"time":1558854677423279}, +{"type":"blockEntry","methodSignature":"worstCase.P.setM(worstCase.M)","blockId":0,"incomings":0,"threadId":1,"lineNum":6,"time":1558854677442900}, +{"type":"fieldSet","fieldName":"worstCase.P.m","container":{"class":"worstCase.P","id":286234206},"value":{"class":"worstCase.M","id":1405564815},"threadId":1,"lineNum":6,"time":1558854677479425}, +{"type":"methodExit","shortSignature":"worstCase.P.setM(worstCase.M)","receiver":{"class":"worstCase.P","id":286234206},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558854677512328}, +{"type":"methodExit","shortSignature":"worstCase.O.passL(worstCase.L)","receiver":{"class":"worstCase.O","id":374930962},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558854677542816}, +{"type":"methodExit","shortSignature":"worstCase.N.passI(worstCase.I)","receiver":{"class":"worstCase.N","id":747658036},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558854677570285}, +{"type":"methodExit","shortSignature":"worstCase.A.m()","receiver":{"class":"worstCase.A","id":1962082203},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558854677600773}, +{"type":"methodExit","shortSignature":"worstCase.main.main(java.lang.String[])","receiver":{"class":"worstCase.main","id":0},"returnValue":{"class":"void","id":0},"threadId":1,"time":1558854677624016},