[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r19726 - in monkey/branches/MonkeyBacktracking/monkey: . Mo
From: |
gnunet |
Subject: |
[GNUnet-SVN] r19726 - in monkey/branches/MonkeyBacktracking/monkey: . MonkeyBugComparator MonkeyBugComparator/.settings MonkeyBugComparator/bin MonkeyBugComparator/bin/org MonkeyBugComparator/bin/org/monkey MonkeyBugComparator/bin/org/monkey/comparator MonkeyBugComparator/bin/org/monkey/comparator/bo MonkeyBugComparator/src MonkeyBugComparator/src/org MonkeyBugComparator/src/org/monkey MonkeyBugComparator/src/org/monkey/comparator MonkeyBugComparator/src/org/monkey/comparator/bo |
Date: |
Wed, 8 Feb 2012 00:43:05 +0100 |
Author: safey
Date: 2012-02-08 00:43:05 +0100 (Wed, 08 Feb 2012)
New Revision: 19726
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.classpath
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.project
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/org.eclipse.jdt.core.prefs
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/Comparator.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Bug.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Epoch.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Expression.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Function.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/XMLParser.class
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/Comparator.java
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Bug.java
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Epoch.java
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Expression.java
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Function.java
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/XMLParser.java
Log:
Monkey Bug Comparator: Parsing XML Bug Report
Added: monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.classpath
===================================================================
--- monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.classpath
(rev 0)
+++ monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.classpath
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.project
===================================================================
--- monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.project
(rev 0)
+++ monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.project
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>MonkeyBugComparator</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/org.eclipse.jdt.core.prefs
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,12 @@
+#Tue Jan 24 16:34:26 CET 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/.settings/org.eclipse.jdt.core.prefs
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/Comparator.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/Comparator.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Bug.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Bug.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Epoch.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Epoch.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Expression.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Expression.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Function.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/Function.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/XMLParser.class
===================================================================
(Binary files differ)
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/bin/org/monkey/comparator/bo/XMLParser.class
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/Comparator.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/Comparator.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/Comparator.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,15 @@
+package org.monkey.comparator;
+
+import org.monkey.comparator.bo.Bug;
+import org.monkey.comparator.bo.XMLParser;
+
+public class Comparator {
+ public static float compareBugs(Bug bugA, Bug bugB) {
+ float similarityPercentage = 0;
+ return similarityPercentage;
+ }
+ public static void main(String[] args) {
+ Bug bug =
XMLParser.parse("/home/safey/Desktop/monkey_complicated.xml");
+ XMLParser.printBug(bug);
+ }
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/Comparator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Bug.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Bug.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Bug.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,44 @@
+package org.monkey.comparator.bo;
+
+import java.util.ArrayList;
+
+public class Bug {
+ private String category;
+ private String fileName;
+ private String lineNo;
+ private String functionName;
+ private ArrayList<Epoch> epochList = new ArrayList<Epoch>();
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+ public String getFileName() {
+ return fileName;
+ }
+ public void setLineNo(String lineNo) {
+ this.lineNo = lineNo;
+ }
+ public String getLineNo() {
+ return lineNo;
+ }
+ public void setFunctionName(String functionName) {
+ this.functionName = functionName;
+ }
+ public String getFunctionName() {
+ return functionName;
+ }
+ public void insertEpoch(Epoch epoch) {
+ this.epochList.add(epoch);
+ }
+ public Epoch getEpoch(int index) {
+ return epochList.get(index);
+ }
+ public void setCategory(String category) {
+ this.category = category;
+ }
+ public String getCategory() {
+ return category;
+ }
+ public int getEpochNum() {
+ return epochList.size();
+ }
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Bug.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Epoch.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Epoch.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Epoch.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,24 @@
+package org.monkey.comparator.bo;
+
+import java.util.ArrayList;
+
+public class Epoch {
+ private int epochStep;
+ private ArrayList<Function> functionList = new ArrayList<Function>();
+
+ public void setEpochStep(int epochStep) {
+ this.epochStep = epochStep;
+ }
+ public int getEpochStep() {
+ return epochStep;
+ }
+ public void insertFunction(Function function) {
+ this.functionList.add(function);
+ }
+ public Function getFunction(int index) {
+ return functionList.get(index);
+ }
+ public int getFunctionNum() {
+ return functionList.size();
+ }
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Epoch.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Expression.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Expression.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Expression.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,19 @@
+package org.monkey.comparator.bo;
+
+public class Expression {
+ private String name;
+ private String value;
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setValue(String value) {
+ this.value = value;
+ }
+ public String getValue() {
+ return value;
+ }
+
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Expression.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Function.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Function.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Function.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,38 @@
+package org.monkey.comparator.bo;
+
+import java.util.ArrayList;
+
+public class Function {
+ private String functionName;
+ private int lineNo;
+ private String fileName;
+ private ArrayList<Expression> expressionList = new
ArrayList<Expression>();
+
+ public void setFunctionName(String functionName) {
+ this.functionName = functionName;
+ }
+ public String getFunctionName() {
+ return functionName;
+ }
+ public void setLineNo(int lineNo) {
+ this.lineNo = lineNo;
+ }
+ public int getLineNo() {
+ return lineNo;
+ }
+ public void insertExpression(Expression expression) {
+ this.expressionList.add(expression);
+ }
+ public Expression getExpression(int index) {
+ return expressionList.get(index);
+ }
+ public String getFileName() {
+ return fileName;
+ }
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
+ public int getExpressionNum() {
+ return expressionList.size();
+ }
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/Function.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/XMLParser.java
===================================================================
---
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/XMLParser.java
(rev 0)
+++
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/XMLParser.java
2012-02-07 23:43:05 UTC (rev 19726)
@@ -0,0 +1,175 @@
+package org.monkey.comparator.bo;
+
+import java.io.File;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class XMLParser {
+
+ public static Bug parse(String filePath) {
+ Bug bug = new Bug();
+ try {
+ NodeList epochNodeList;
+ NodeList traceNodeList;
+ NodeList functionNodeList;
+ NodeList expressionNodeList;
+ NodeList tmpNodeList;
+ Node epochNode;
+ Node traceNode;
+ Node functionNode;
+ Node expressionNode;
+ Node tmpNode = null;
+ Element element;
+ Epoch epoch = null;
+ Function function = null;
+ Expression expression = null;
+ File xmlFile = new File(filePath);
+
+ DocumentBuilderFactory documentBuilderFactory =
DocumentBuilderFactory
+ .newInstance();
+ DocumentBuilder documentBuilder = documentBuilderFactory
+ .newDocumentBuilder();
+ Document document = documentBuilder.parse(xmlFile);
+ document.getDocumentElement().normalize();
+
+ /* Setting Bug Attributes */
+ element = document.getDocumentElement(); /*
+
* This should be the crash
+
* node
+
*/
+ bug.setCategory(element.getAttribute("category"));
+ bug.setFileName(element.getAttribute("file"));
+ bug.setFunctionName(element.getAttribute("function"));
+ bug.setLineNo(element.getAttribute("line"));
+
+ /* History is consisting of a list of epoch nodes */
+ epochNodeList = document.getElementsByTagName("epoch");
+ printAllNodes(epochNodeList);
+ for (int i = 0; i < epochNodeList.getLength(); i++) {
+ epochNode = epochNodeList.item(i);
+ if (epochNode.getNodeType() ==
Node.ELEMENT_NODE) {
+ epoch = new Epoch();
+ bug.insertEpoch(epoch);
+
epoch.setEpochStep(Integer.parseInt(epochNode
+
.getAttributes().getNamedItem("step")
+ .getNodeValue()));
+
+ /* Get the list of trace nodes for this
epoch node */
+ traceNodeList =
epochNode.getChildNodes();
+ for (int j = 0; j <
traceNodeList.getLength(); j++) {
+ /* Get the list of function
nodes for this trace node */
+ traceNode =
traceNodeList.item(j);
+ if (traceNode.getNodeType() ==
Node.ELEMENT_NODE) {
+ functionNodeList =
traceNode.getChildNodes();
+ for (int k = 0; k <
functionNodeList.getLength(); k++) {
+ functionNode =
functionNodeList.item(k);
+ if
(functionNode.getNodeType() == Node.ELEMENT_NODE) {
+
function = new Function();
+
epoch.insertFunction(function);
+
function.setFunctionName(functionNode
+
.getAttributes()
+
.getNamedItem("name")
+
.getNodeValue());
+
function.setLineNo(Integer
+
.parseInt(functionNode
+
.getAttributes()
+
.getNamedItem("line")
+
.getNodeValue()));
+
function.setFileName(functionNode
+
.getAttributes()
+
.getNamedItem("file")
+
.getNodeValue());
+
+ /*
+ * Get
the list of expression nodes for this
+ *
function
+ */
+
tmpNodeList = functionNode.getChildNodes();
+ for
(int t = 0; t < tmpNodeList.getLength(); t++) { // skipping the
+
// unnecessary
+
// node
+
// named
+
// <expressions></expressions>
+
tmpNode = tmpNodeList.item(t);
+
if (tmpNode.getNodeName().equals("expressions"))
+
break;
+ }
+
expressionNodeList = tmpNode.getChildNodes();
+ for
(int l = 0; l < expressionNodeList
+
.getLength(); l++) {
+
expressionNode = expressionNodeList
+
.item(l);
+
if (expressionNode.getNodeType() == Node.ELEMENT_NODE) {
+
expression = new Expression();
+
function.insertExpression(expression);
+
expression.setName(expressionNode
+
.getAttributes()
+
.getNamedItem("name")
+
.getNodeValue());
+
expression.setValue(expressionNode
+
.getTextContent());
+
}
+ }
+ } // end if
functionNode
+ } // end for
functionNodeList
+ } // end if traceNode
+ } // end for traceNodeList
+ } // end if epochNode
+ } // end for epochNodeList
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return bug;
+ }
+
+ public static void printBug(Bug bug) {
+ Epoch epoch;
+ Function function;
+ Expression expression;
+ System.out.println("Bug:");
+ System.out.println("---------");
+ System.out.println("Category: " + bug.getCategory());
+ System.out.println("File Name: " + bug.getFileName());
+ System.out.println("Function Name: " + bug.getFunctionName());
+ System.out.println("Line Number: " + bug.getLineNo());
+
System.out.println("------------------------------------------------------");
+ for (int i = 0; i < bug.getEpochNum(); i++) {
+ epoch = bug.getEpoch(i);
+ System.out.println("Epoch Step: " +
epoch.getEpochStep());
+ System.out.println("---------------");
+ for (int j = 0; j < epoch.getFunctionNum(); j++) {
+ function = epoch.getFunction(j);
+ System.out.println("Function: " +
function.getFunctionName() + " file: " + function.getFileName() + " Lineno." +
function.getLineNo());
+
System.out.println("-----------------------------------------------------");
+ for (int k = 0; k <
function.getExpressionNum(); k++) {
+ expression = function.getExpression(k);
+ System.out.println(expression.getName()
+ " = " + expression.getValue());
+ }
+ System.out.println("");
+ }
+ System.out.println("");
+ }
+ }
+
+
+
+ // This method is used for debugging
+ private static void printAllNodes(NodeList nodeList) {
+ NodeList childNodes;
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ if (nodeList.item(i).getNodeType() ==
Node.ELEMENT_NODE) {
+
System.out.println(nodeList.item(i).getNodeName() + " type ="
+ +
nodeList.item(i).getNodeType());
+ childNodes = nodeList.item(i).getChildNodes();
+ printAllNodes(childNodes);
+ }
+ }
+ }
+
+}
Property changes on:
monkey/branches/MonkeyBacktracking/monkey/MonkeyBugComparator/src/org/monkey/comparator/bo/XMLParser.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r19726 - in monkey/branches/MonkeyBacktracking/monkey: . MonkeyBugComparator MonkeyBugComparator/.settings MonkeyBugComparator/bin MonkeyBugComparator/bin/org MonkeyBugComparator/bin/org/monkey MonkeyBugComparator/bin/org/monkey/comparator MonkeyBugComparator/bin/org/monkey/comparator/bo MonkeyBugComparator/src MonkeyBugComparator/src/org MonkeyBugComparator/src/org/monkey MonkeyBugComparator/src/org/monkey/comparator MonkeyBugComparator/src/org/monkey/comparator/bo,
gnunet <=