SlideShare a Scribd company logo
1 of 60
Download to read offline
Using Fuzzy Code Search to Link
Code Fragments in Discussions to
          Source Code

Nicolas Bettenburg Stephen W. Thomas Ahmed E. Hassan
                          Queen’s University
              Software Analysis and Intelligence Lab (SAIL)
                       Kingston, Ontario, Canada
“Given enough eyeballs,
  all bugs are shallow.”
       Eric S. Raymond - The Cathedral and the Bazaar




                                                        2
Objective in this Study:


Which parts of the
 source code did
   developers
    discuss?


                             3
Objective in this Study:


           Which parts of the
            source code did
              developers
               discuss?
Finding Associations of Discussions with Source Code Files


                                                             3
Communication   Source Code
  Repository      Archive
                              4
Communication   Source Code
  Repository      Archive
                              4
Untitled                                                                                                12-03-15 2:55 PM



                           Untitled                                                                                             12-03-15 2:55 PM


                                             this.opt_withObsolete = opt_withObsolete;
                                      Untitled
                                      }                                                                                                    12-03-15 2:55 PM

                                      /* (non-Javadoc)
                                                    this.opt_withObsolete = opt_withObsolete;
                                        * @see main.IExperiment#getDescription()
                                             Untitled                                                                                        12-03-15 2:55 PM
                                              }
                                        */
                                      public String getDescription() {
                                              /* (non-Javadoc)
                                           String description = "We want to run an experiment all those bug
                                                             this.opt_withObsolete = opt_withObsolete;
                                                * @see main.IExperiment#getDescription()
                                                 reports.nt"
                                                       }
                                                */
                                                 + "We extract the complete stacktrace information to study fix
                                              public String getDescription() {
                                                      location and stacktrace interplay.nt";
                                                       /* (non-Javadoc)
                                                    String description = "We want to run an experiment all those bug
                                                                       this.opt_withObsolete = opt_withObsolete;
                                           return description;
                                                         * @see main.IExperiment#getDescription()
                                                          reports.nt"
                                                                 }
                                      }                  */
                                                          + "We extract the complete stacktrace information to study fix
                                                       public String getDescription() {
                                                                location and stacktrace interplay.nt";
                                                                 /* (non-Javadoc)
                                      /* (non-Javadoc) String description = "We want to run an experiment all those bug
                                                    return description;
                                                                   * @see main.IExperiment#getDescription()
                                        * @see main.IExperiment#run()
                                                                    reports.nt"
                                              }                    */
                                        */                          + "We extract the complete stacktrace information to study fix
                                                                 public String getDescription() {
                                      public boolean run() {              location and stacktrace interplay.nt";
                                              /* (non-Javadoc) String description = "We want to run an experiment all those bug
                                           final boolean return = Main.isCli_withDebugMessages();
                                                               DEBUG description;
                                                * @see main.IExperiment#run()reports.nt"
                                                       }
                                                */                           + "We extract the complete stacktrace information to study fix
                                           // Select an appropriate database name on the server depending on the
                                              public boolean run() {             location and stacktrace interplay.nt";
                                                 project demanded via command line options
                                                       /* (non-Javadoc)
                                                    final boolean return = Main.isCli_withDebugMessages();
                                                                         DEBUG description;
                                           String dbName = "";
                                                         * @see main.IExperiment#run()
                                                                 }
                                           if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                         */
                                                    // Select an appropriate database name on the server depending on the
                                                 dbName = "eclipse-december-2007";
                                                       public boolean run() {
                                                          project demanded via command line options
                                                                 /* (non-Javadoc)
                                           else {            final boolean DEBUG = Main.isCli_withDebugMessages();
                                                    String dbName = "";
                                                                   * @see main.IExperiment#run()
                                                 System.out.println("We currently only support the Eclipse database
                                                    if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                   */
                                                      !"); // Select an appropriate database name on the server depending on the
                                                          dbName = "eclipse-december-2007";
                                                                 public boolean run() {
                                                 System.exit(0);    project demanded via command line options
                                                    else {             final boolean DEBUG = Main.isCli_withDebugMessages();
                                           }                 String dbName = "";
                                                          System.out.println("We currently only support the Eclipse database
                                                             if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                !"); // Select an appropriate database name on the server depending on the
                                                                    dbName = "eclipse-december-2007";
                                                          System.exit(0);    project demanded via command line options
                                           // Create the else {Database Connection
                                                    }                  String dbName = "";
                                           DatabaseConnector System.out.println("We currently only support the Eclipse database
                                                                     dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                       if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                 Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                          !");
                                                                             dbName = "eclipse-december-2007";
                                           dbc.initialize(); System.exit(0);
                                                    // Create the else { Database Connection
                                           if (!dbc.connect()) {
                                                             }
                                                    DatabaseConnector System.out.println("We currently only support the Eclipse database
                                                                              dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                 System.out.println("Could not connect to database. Check host, port
                                                          Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                 !");
                                                      , username and password.");
                                                    dbc.initialize(); System.exit(0);
                                                 System.exit(1);
                                                             // Create the Database Connection
                                                    if (!dbc.connect()) {
                                                                       }
                                           }                 DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                          System.out.println("Could not connect to database. Check host, port
                                                                    Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                , username and password.");
                                           // Fetch a number of Bug Report unique IDs belonging to the following
                                                             dbc.initialize();
                                                          System.exit(1);
                                                                       // Create the Database Connection
                                                 query       if (!dbc.connect()) {
                                                    }                  DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                           String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port
                                                                    System.out.println("Could bug_id FROM bugzilla_bugs
                                                                             Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                 WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                          , username and password.");
                                                    // Fetch a number of Bug Report unique IDs belonging to the following
                                                                       dbc.initialize();
                                                 LIMIT " + Main.getCli_amount();
                                                                    System.exit(1);
                                                          query        if (!dbc.connect()) {
                                           int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                             }
                                                    String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port
                                                                             System.out.println("Could bug_id FROM bugzilla_bugs
                                           int lastID = bugIDs[bugIDs.length -1];
                                                          WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                                 , username and password.");
                                                             // Fetch a number of Bug Report unique IDs belonging to the following
                                                          LIMIT " + Main.getCli_amount();
                                                                             System.exit(1);
                                           if (DEBUG)               query
                                                    int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                       }
                                                 System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs
                                                             String setSelectionQuery = "SELECT DISTINCT bug_id FROM
                                                    int lastID = bugIDs[bugIDs.length -1];
                                                      reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC
                                                                    WHERE bug_id > " + Main.getCli_startID()      " ORDER +
                                                                       // Fetch a number of Bug Report unique IDs belonging to the following
                                                      Main.getCli_startID());
                                                                    LIMIT " + Main.getCli_amount();
                                                    if (DEBUG)               query
                                                             int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                          System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs
                                                                       String setSelectionQuery = "SELECT DISTINCT bug_id FROM
                                           // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel
                                                             int lastID = from the database using
                                                                reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC
                                                                             WHERE bug_id > " + Main.getCli_startID()    " ORDER +
                                                 threads.
                                                                Main.getCli_startID());
                                                                             LIMIT " + Main.getCli_amount();
                                                             if (DEBUG)
                                                                       int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                    System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                    // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel
                                                                       int lastID = from the database using
                                                                          reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                          threads.
                                                                          Main.getCli_startID());
                                                                       if (DEBUG)
                                                                             System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                             // Collect the bug reports from the database using up to 100Page 2 of 4
                                                                                                                                parallel
                                                                                 reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                    threads.
                                                                                 Main.getCli_startID());

                                                                // Collect the bug reports from the database using up to 100Page 2 of 4
                                                                                                                             parallel
                                                                    threads.


                                                                                                                                                Page 2 of 4



                                                                                                                                                        Page 2 of 4




Communication                                                                          Source Code
  Repository                                                                             Archive
                                                                                                                                                                      4
Untitled                                                                                                12-03-15 2:55 PM



                                          Untitled                                                                                             12-03-15 2:55 PM


                                                            this.opt_withObsolete = opt_withObsolete;
                                                     Untitled
                                                     }                                                                                                    12-03-15 2:55 PM

                                                     /* (non-Javadoc)
                                                                   this.opt_withObsolete = opt_withObsolete;
                                                       * @see main.IExperiment#getDescription()
                                                            Untitled                                                                                        12-03-15 2:55 PM
                                                             }
                                                       */
                                                     public String getDescription() {
                                                             /* (non-Javadoc)
                                                          String description = "We want to run an experiment all those bug
                                                                            this.opt_withObsolete = opt_withObsolete;
                                                               * @see main.IExperiment#getDescription()
                                                                reports.nt"
                                                                      }
                                                               */
                                                                + "We extract the complete stacktrace information to study fix
                                                             public String getDescription() {
                                                                     location and stacktrace interplay.nt";
                                                                      /* (non-Javadoc)
                                                                   String description = "We want to run an experiment all those bug
                                                                                      this.opt_withObsolete = opt_withObsolete;
                                                          return description;
                                                                        * @see main.IExperiment#getDescription()
                                                                         reports.nt"
                                                                                }
                                                     }                  */
                                                                         + "We extract the complete stacktrace information to study fix
                                                                      public String getDescription() {
                                                                               location and stacktrace interplay.nt";
                                                                                /* (non-Javadoc)
                                                     /* (non-Javadoc) String description = "We want to run an experiment all those bug
                                                                   return description;
                                                                                  * @see main.IExperiment#getDescription()
                                                       * @see main.IExperiment#run()
                                                                                   reports.nt"
                                                             }                    */
                                                       */                          + "We extract the complete stacktrace information to study fix
                                                                                public String getDescription() {
                                                     public boolean run() {              location and stacktrace interplay.nt";
                                                             /* (non-Javadoc) String description = "We want to run an experiment all those bug
                                                          final boolean return = Main.isCli_withDebugMessages();
                                                                              DEBUG description;
                                                               * @see main.IExperiment#run()reports.nt"
                                                                      }
                                                               */                           + "We extract the complete stacktrace information to study fix
                                                          // Select an appropriate database name on the server depending on the
                                                             public boolean run() {             location and stacktrace interplay.nt";
                                                                project demanded via command line options
                                                                      /* (non-Javadoc)




                Traceability
                                                                   final boolean return = Main.isCli_withDebugMessages();
                                                                                        DEBUG description;
                                                          String dbName = "";
                                                                        * @see main.IExperiment#run()
                                                                                }
                                                          if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                        */
                                                                   // Select an appropriate database name on the server depending on the
                                                                dbName = "eclipse-december-2007";
                                                                      public boolean run() {
                                                                         project demanded via command line options
                                                                                /* (non-Javadoc)
                                                          else {            final boolean DEBUG = Main.isCli_withDebugMessages();
                                                                   String dbName = "";
                                                                                  * @see main.IExperiment#run()
                                                                System.out.println("We currently only support the Eclipse database
                                                                   if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                                  */
                                                                     !"); // Select an appropriate database name on the server depending on the
                                                                         dbName = "eclipse-december-2007";
                                                                                public boolean run() {
                                                                System.exit(0);    project demanded via command line options
                                                                   else {             final boolean DEBUG = Main.isCli_withDebugMessages();
                                                          }                 String dbName = "";
                                                                         System.out.println("We currently only support the Eclipse database
                                                                            if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                               !"); // Select an appropriate database name on the server depending on the
                                                                                   dbName = "eclipse-december-2007";
                                                                         System.exit(0);    project demanded via command line options
                                                          // Create the else {Database Connection
                                                                   }                  String dbName = "";
                                                          DatabaseConnector System.out.println("We currently only support the Eclipse database
                                                                                    dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                                      if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                         !");
                                                                                            dbName = "eclipse-december-2007";
                                                          dbc.initialize(); System.exit(0);
                                                                   // Create the else { Database Connection
                                                          if (!dbc.connect()) {
                                                                            }
                                                                   DatabaseConnector System.out.println("We currently only support the Eclipse database
                                                                                             dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                System.out.println("Could not connect to database. Check host, port
                                                                         Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                                !");
                                                                     , username and password.");
                                                                   dbc.initialize(); System.exit(0);




                   Links
                                                                System.exit(1);
                                                                            // Create the Database Connection
                                                                   if (!dbc.connect()) {
                                                                                      }
                                                          }                 DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                         System.out.println("Could not connect to database. Check host, port
                                                                                   Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                               , username and password.");
                                                          // Fetch a number of Bug Report unique IDs belonging to the following
                                                                            dbc.initialize();
                                                                         System.exit(1);
                                                                                      // Create the Database Connection
                                                                query       if (!dbc.connect()) {
                                                                   }                  DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                          String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port
                                                                                   System.out.println("Could bug_id FROM bugzilla_bugs
                                                                                            Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                                         , username and password.");
                                                                   // Fetch a number of Bug Report unique IDs belonging to the following
                                                                                      dbc.initialize();
                                                                LIMIT " + Main.getCli_amount();
                                                                                   System.exit(1);
                                                                         query        if (!dbc.connect()) {
                                                          int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                            }
                                                                   String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port
                                                                                            System.out.println("Could bug_id FROM bugzilla_bugs
                                                          int lastID = bugIDs[bugIDs.length -1];
                                                                         WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                                                , username and password.");
                                                                            // Fetch a number of Bug Report unique IDs belonging to the following
                                                                         LIMIT " + Main.getCli_amount();
                                                                                            System.exit(1);
                                                          if (DEBUG)               query
                                                                   int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                      }
                                                                System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs
                                                                            String setSelectionQuery = "SELECT DISTINCT bug_id FROM
                                                                   int lastID = bugIDs[bugIDs.length -1];
                                                                     reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC
                                                                                   WHERE bug_id > " + Main.getCli_startID()      " ORDER +
                                                                                      // Fetch a number of Bug Report unique IDs belonging to the following
                                                                     Main.getCli_startID());
                                                                                   LIMIT " + Main.getCli_amount();
                                                                   if (DEBUG)               query
                                                                            int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                         System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs
                                                                                      String setSelectionQuery = "SELECT DISTINCT bug_id FROM
                                                          // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel
                                                                            int lastID = from the database using
                                                                               reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC
                                                                                            WHERE bug_id > " + Main.getCli_startID()    " ORDER +
                                                                threads.
                                                                               Main.getCli_startID());
                                                                                            LIMIT " + Main.getCli_amount();
                                                                            if (DEBUG)
                                                                                      int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                   System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                   // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel
                                                                                      int lastID = from the database using
                                                                                         reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                         threads.
                                                                                         Main.getCli_startID());
                                                                                      if (DEBUG)
                                                                                            System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                            // Collect the bug reports from the database using up to 100Page 2 of 4
                                                                                                                                               parallel
                                                                                                reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                                   threads.
                                                                                                Main.getCli_startID());

                                                                               // Collect the bug reports from the database using up to 100Page 2 of 4
                                                                                                                                            parallel
                                                                                   threads.


                                                                                                                                                               Page 2 of 4



                                                                                                                                                                       Page 2 of 4




Communication                                                                                         Source Code
  Repository                                                                                            Archive
                                                                                                                                                                                     4
5
5
org.eclipse.swt/Eclipse_SWT/win32/org/eclipse/swt/widgets/Button.java


                                                                   5
3   Approaches in the Past

         Change Log Analysis

         Information Retrieval

         Lightweight Textual Analysis


                                        6
Change Log Analysis




                                                                                                                                                Untitled                                                                                    12-03-15 2:55 PM




                                                                                                                                                                   this.opt_withObsolete = opt_withObsolete;
                                                                                                                                                               }

                                                                                                                                                               /* (non-Javadoc)
                                                                                                                                                                 * @see main.IExperiment#getDescription()
                                                                                                                                                                 */
                                                                                                                                                               public String getDescription() {
                                                                                                                                                                    String description = "We want to run an experiment all those bug
                                                                                                                                                                        reports.nt"
                                                                                                                                                                        + "We extract the complete stacktrace information to study fix
                                                                                                                                                                            location and stacktrace interplay.nt";
                                                                                                                                                                    return description;
                                                                                                                                                               }

                                                                                                                                                               /* (non-Javadoc)
                                                                                                                                                                * @see main.IExperiment#run()




                                                                                                                                                                                                                                                               LUCENE-2297: allow reader
                                                                                                                                                                */
                                                                                                                                                               public boolean run() {
                                                                                                                                                                   final boolean DEBUG = Main.isCli_withDebugMessages();

                                                                                                                                                                   // Select an appropriate database name on the server depending on the
                                                                     Untitled                                                                               12-03-15 2:55project demanded via command line options
                                                                                                                                                                          PM
                                                                                                                                                                   String dbName = "";
                                                                                                                                                                   if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                                                                                                                         dbName = "eclipse-december-2007";
                                                                                                                                                                   else {
                                                                                                                                                                         System.out.println("We currently only support the Eclipse database
                                                                                                                                                                             !");
                                                                                      this.opt_withObsolete = opt_withObsolete;                                          System.exit(0);
                                                                                  }                                                                                }
                                                                                  /* (non-Javadoc)
                                                                                    * @see main.IExperiment#getDescription()                                       // Create the Database Connection
                                                                                    */                                                                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                                  public String getDescription() {                                                     Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                       String description = "We want to run an experiment all those bug            dbc.initialize();
                                                                                           reports.nt"                                                           if (!dbc.connect()) {




                                                                                                                                                                                                                                                               pooling to be enabled (through
                                                                                           + "We extract the complete stacktrace information to study fix              System.out.println("Could not connect to database. Check host, port
                                                                                               location and stacktrace interplay.nt";                                    , username and password.");
                                                                                       return description;                                                             System.exit(1);
                                                                                  }                                                                                }
                                                                                  /* (non-Javadoc)                                                                 // Fetch a number of Bug Report unique IDs belonging to the following
                                                                                   * @see main.IExperiment#run()                                                       query
                                                                                   */                                                                              String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs
                                                                                  public boolean run() {                                                               WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                                      final boolean DEBUG = Main.isCli_withDebugMessages();                            LIMIT " + Main.getCli_amount();
                                                                                                                                                                   int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                      // Select an appropriate database name on the server depending on the        int lastID = bugIDs[bugIDs.length -1];
                                                                                          project demanded via command line options
                                                                                      String dbName = "";                                                          if (DEBUG)
                                                                                      if (Main.getCli_project().equalsIgnoreCase("eclipse"))                           System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                                          dbName = "eclipse-december-2007";                                                reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                                      else {                                                                               Main.getCli_startID());
                                                                                          System.out.println("We currently only support the Eclipse database
                                                                                              !");                                                                 // Collect the bug reports from the database using up to 100 parallel
                                                                                          System.exit(0);                                                              threads.
                                                                                      }




                                                                                                                                                                                                                                                               IndexWriterConfig) even if
              Untitled                                                                // Create the DatabasePM
                                                                                                 12-03-15 2:55 Connection
                                                                                                                               Untitled
                                                                                      DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),                                                                12-03-15 2:55 PM
                                                                                          Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                      dbc.initialize();                                                                                                                                          Page 2 of 4
                                                                                      if (!dbc.connect()) {
                                                                                          System.out.println("Could not connect to database. Check host, port
                             this.opt_withObsolete = opt_withObsolete;                        , username and password.");
                         }                                                                System.exit(1);                                        this.opt_withObsolete = opt_withObsolete;
                                                                                      }                                                      }
                         /* (non-Javadoc)
                           * @see main.IExperiment#getDescription()                    // Fetch a number of Bug Report unique IDs belonging to the following
                                                                                                                                              /* (non-Javadoc)
                           */                                                              query                                                * @see main.IExperiment#getDescription()
                         public String getDescription() {                              String setSelectionQuery = "SELECT DISTINCT bug_id FROM */bugzilla_bugs
                                                                                           WHERE bug_id > " + Main.getCli_startID() + " ORDER public String getDescription() {
                              String description = "We want to run an experiment all those bug                                                 BY bug_id ASC
                                  reports.nt"                                            LIMIT " + Main.getCli_amount();                         String description = "We want to run an experiment all those bug
                                                                                       int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                  + "We extract the complete stacktrace information to study fix                                                       reports.nt"
                                      location and stacktrace interplay.nt";         int lastID = bugIDs[bugIDs.length -1];                          + "We extract the complete stacktrace information to study fix
                              return description;                                                                                                          location and stacktrace interplay.nt";
                                                                                       if (DEBUG)




                                                                                                                                                                                                                                                               you're not pulling NRT reader.
                         }                                                                                                                         return description;
                                                                                           System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                                                                                              }
                         /* (non-Javadoc)                                                      reports from " + Main.getCli_dbHost() + " starting with ID " +
                           * @see main.IExperiment#run()                                       Main.getCli_startID());                        /* (non-Javadoc)
                           */                                                                                                                   * @see main.IExperiment#run()
                         public boolean run() {                                        // Collect the bug reports from the database using up to 100 parallel
                                                                                                                                                */
                              final boolean DEBUG = Main.isCli_withDebugMessages();        threads.                                           public boolean run() {
                                                                                                                                                   final boolean DEBUG = Main.isCli_withDebugMessages();
                              // Select an appropriate database name on the server depending on the
                                  project demanded via command line options                                                                        // Select an appropriate database name on the server depending on the
                              String dbName = "";                                                                                                      project demanded via command line options
                              if (Main.getCli_project().equalsIgnoreCase("eclipse"))                                                               String dbName = "";
                                  dbName = "eclipse-december-2007";                                                                                if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                                                                                                                 Page 2 of 4
                              else {                                                                                                                   dbName = "eclipse-december-2007";
                                  System.out.println("We currently only support the Eclipse database                                               else {
                                      !");                                                                                                             System.out.println("We currently only support the Eclipse database
                                  System.exit(0);                                                                                                          !");
                              }                                                                                                                        System.exit(0);
                                                                                                                                                   }

                             // Create the Database Connection
                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),                                                  // Create the Database Connection
                                 Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);                                                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                             dbc.initialize();                                                                                                        Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                             if (!dbc.connect()) {                                                                                                dbc.initialize();
                                 System.out.println("Could not connect to database. Check host, port                                              if (!dbc.connect()) {
                                     , username and password.");                                                                                      System.out.println("Could not connect to database. Check host, port
                                 System.exit(1);                                                                                                          , username and password.");
                             }                                                                                                                        System.exit(1);
                                                                                                                                                  }
                             // Fetch a number of Bug Report unique IDs belonging to the following
                                 query                                                                                                            // Fetch a number of Bug Report unique IDs belonging to the following
                             String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs                                                    query
                                 WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC                                                 String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs
                                 LIMIT " + Main.getCli_amount();                                                                                      WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                             int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);                                                                   LIMIT " + Main.getCli_amount();
                             int lastID = bugIDs[bugIDs.length -1];                                                                               int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                                                                                  int lastID = bugIDs[bugIDs.length -1];
                             if (DEBUG)
                                 System.out.println("* Attempting to fetch " + bugIDs.length + "                                                  if (DEBUG)
                                     reports from " + Main.getCli_dbHost() + " starting with ID " +                                                   System.out.println("* Attempting to fetch " + bugIDs.length + "
                                     Main.getCli_startID());                                                                                              reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                                                                                                          Main.getCli_startID());
                             // Collect the bug reports from the database using up to 100 parallel
                                 threads.                                                                                                         // Collect the bug reports from the database using up to 100 parallel
                                                                                                                                                      threads.




    SVN
                                                                                                       Page 2 of 4
                                                                                                                                                                                                                              Page 2 of 4




                                                                                                                                                                                                                                                                                                7
Change Log Analysis




                                                                                                                                                Untitled                                                                                    12-03-15 2:55 PM




                                                                                                                                                                   this.opt_withObsolete = opt_withObsolete;
                                                                                                                                                               }

                                                                                                                                                               /* (non-Javadoc)
                                                                                                                                                                 * @see main.IExperiment#getDescription()
                                                                                                                                                                 */
                                                                                                                                                               public String getDescription() {
                                                                                                                                                                    String description = "We want to run an experiment all those bug
                                                                                                                                                                        reports.nt"
                                                                                                                                                                        + "We extract the complete stacktrace information to study fix
                                                                                                                                                                            location and stacktrace interplay.nt";
                                                                                                                                                                    return description;
                                                                                                                                                               }

                                                                                                                                                               /* (non-Javadoc)
                                                                                                                                                                * @see main.IExperiment#run()




                                                                                                                                                                                                                                                               LUCENE-2297: allow reader
                                                                                                                                                                */
                                                                                                                                                               public boolean run() {
                                                                                                                                                                   final boolean DEBUG = Main.isCli_withDebugMessages();

                                                                                                                                                                   // Select an appropriate database name on the server depending on the
                                                                     Untitled                                                                               12-03-15 2:55project demanded via command line options
                                                                                                                                                                          PM
                                                                                                                                                                   String dbName = "";
                                                                                                                                                                   if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                                                                                                                         dbName = "eclipse-december-2007";
                                                                                                                                                                   else {
                                                                                                                                                                         System.out.println("We currently only support the Eclipse database
                                                                                                                                                                             !");
                                                                                      this.opt_withObsolete = opt_withObsolete;                                          System.exit(0);
                                                                                  }                                                                                }
                                                                                  /* (non-Javadoc)
                                                                                    * @see main.IExperiment#getDescription()                                       // Create the Database Connection
                                                                                    */                                                                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                                                                                  public String getDescription() {                                                     Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                       String description = "We want to run an experiment all those bug            dbc.initialize();
                                                                                           reports.nt"                                                           if (!dbc.connect()) {




                                                                                                                                                                                                                                                               pooling to be enabled (through
                                                                                           + "We extract the complete stacktrace information to study fix              System.out.println("Could not connect to database. Check host, port
                                                                                               location and stacktrace interplay.nt";                                    , username and password.");
                                                                                       return description;                                                             System.exit(1);
                                                                                  }                                                                                }
                                                                                  /* (non-Javadoc)                                                                 // Fetch a number of Bug Report unique IDs belonging to the following
                                                                                   * @see main.IExperiment#run()                                                       query
                                                                                   */                                                                              String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs
                                                                                  public boolean run() {                                                               WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                                                                                      final boolean DEBUG = Main.isCli_withDebugMessages();                            LIMIT " + Main.getCli_amount();
                                                                                                                                                                   int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                      // Select an appropriate database name on the server depending on the        int lastID = bugIDs[bugIDs.length -1];
                                                                                          project demanded via command line options
                                                                                      String dbName = "";                                                          if (DEBUG)
                                                                                      if (Main.getCli_project().equalsIgnoreCase("eclipse"))                           System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                                          dbName = "eclipse-december-2007";                                                reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                                      else {                                                                               Main.getCli_startID());
                                                                                          System.out.println("We currently only support the Eclipse database
                                                                                              !");                                                                 // Collect the bug reports from the database using up to 100 parallel
                                                                                          System.exit(0);                                                              threads.
                                                                                      }




                                                                                                                                                                                                                                                               IndexWriterConfig) even if
              Untitled                                                                // Create the DatabasePM
                                                                                                 12-03-15 2:55 Connection
                                                                                                                               Untitled
                                                                                      DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),                                                                12-03-15 2:55 PM
                                                                                          Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                                                                                      dbc.initialize();                                                                                                                                          Page 2 of 4
                                                                                      if (!dbc.connect()) {
                                                                                          System.out.println("Could not connect to database. Check host, port
                             this.opt_withObsolete = opt_withObsolete;                        , username and password.");
                         }                                                                System.exit(1);                                        this.opt_withObsolete = opt_withObsolete;
                                                                                      }                                                      }
                         /* (non-Javadoc)
                           * @see main.IExperiment#getDescription()                    // Fetch a number of Bug Report unique IDs belonging to the following
                                                                                                                                              /* (non-Javadoc)
                           */                                                              query                                                * @see main.IExperiment#getDescription()
                         public String getDescription() {                              String setSelectionQuery = "SELECT DISTINCT bug_id FROM */bugzilla_bugs
                                                                                           WHERE bug_id > " + Main.getCli_startID() + " ORDER public String getDescription() {
                              String description = "We want to run an experiment all those bug                                                 BY bug_id ASC
                                  reports.nt"                                            LIMIT " + Main.getCli_amount();                         String description = "We want to run an experiment all those bug
                                                                                       int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                  + "We extract the complete stacktrace information to study fix                                                       reports.nt"
                                      location and stacktrace interplay.nt";         int lastID = bugIDs[bugIDs.length -1];                          + "We extract the complete stacktrace information to study fix
                              return description;                                                                                                          location and stacktrace interplay.nt";
                                                                                       if (DEBUG)




                                                                                                                                                                                                                                                               you're not pulling NRT reader.
                         }                                                                                                                         return description;
                                                                                           System.out.println("* Attempting to fetch " + bugIDs.length + "
                                                                                                                                              }
                         /* (non-Javadoc)                                                      reports from " + Main.getCli_dbHost() + " starting with ID " +
                           * @see main.IExperiment#run()                                       Main.getCli_startID());                        /* (non-Javadoc)
                           */                                                                                                                   * @see main.IExperiment#run()
                         public boolean run() {                                        // Collect the bug reports from the database using up to 100 parallel
                                                                                                                                                */
                              final boolean DEBUG = Main.isCli_withDebugMessages();        threads.                                           public boolean run() {
                                                                                                                                                   final boolean DEBUG = Main.isCli_withDebugMessages();
                              // Select an appropriate database name on the server depending on the
                                  project demanded via command line options                                                                        // Select an appropriate database name on the server depending on the
                              String dbName = "";                                                                                                      project demanded via command line options
                              if (Main.getCli_project().equalsIgnoreCase("eclipse"))                                                               String dbName = "";
                                  dbName = "eclipse-december-2007";                                                                                if (Main.getCli_project().equalsIgnoreCase("eclipse"))
                                                                                                                                                                 Page 2 of 4
                              else {                                                                                                                   dbName = "eclipse-december-2007";
                                  System.out.println("We currently only support the Eclipse database                                               else {
                                      !");                                                                                                             System.out.println("We currently only support the Eclipse database
                                  System.exit(0);                                                                                                          !");
                              }                                                                                                                        System.exit(0);
                                                                                                                                                   }

                             // Create the Database Connection
                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),                                                  // Create the Database Connection
                                 Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);                                                             DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(),
                             dbc.initialize();                                                                                                        Main.getCli_dbUser(), Main.getCli_dbPass(), dbName);
                             if (!dbc.connect()) {                                                                                                dbc.initialize();
                                 System.out.println("Could not connect to database. Check host, port                                              if (!dbc.connect()) {
                                     , username and password.");                                                                                      System.out.println("Could not connect to database. Check host, port
                                 System.exit(1);                                                                                                          , username and password.");
                             }                                                                                                                        System.exit(1);
                                                                                                                                                  }
                             // Fetch a number of Bug Report unique IDs belonging to the following
                                 query                                                                                                            // Fetch a number of Bug Report unique IDs belonging to the following
                             String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs                                                    query
                                 WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC                                                 String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs
                                 LIMIT " + Main.getCli_amount();                                                                                      WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC
                             int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);                                                                   LIMIT " + Main.getCli_amount();
                             int lastID = bugIDs[bugIDs.length -1];                                                                               int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery);
                                                                                                                                                  int lastID = bugIDs[bugIDs.length -1];
                             if (DEBUG)
                                 System.out.println("* Attempting to fetch " + bugIDs.length + "                                                  if (DEBUG)
                                     reports from " + Main.getCli_dbHost() + " starting with ID " +                                                   System.out.println("* Attempting to fetch " + bugIDs.length + "
                                     Main.getCli_startID());                                                                                              reports from " + Main.getCli_dbHost() + " starting with ID " +
                                                                                                                                                          Main.getCli_startID());
                             // Collect the bug reports from the database using up to 100 parallel
                                 threads.                                                                                                         // Collect the bug reports from the database using up to 100 parallel
                                                                                                                                                      threads.




    SVN
                                                                                                       Page 2 of 4
                                                                                                                                                                                                                              Page 2 of 4




                                                                                                                                                                                                                                                                                                7
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code
Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code

More Related Content

What's hot

Nhibernate Part 2
Nhibernate   Part 2Nhibernate   Part 2
Nhibernate Part 2guest075fec
 
Executing Sql Commands
Executing Sql CommandsExecuting Sql Commands
Executing Sql Commandsleminhvuong
 
Jdk 7 4-forkjoin
Jdk 7 4-forkjoinJdk 7 4-forkjoin
Jdk 7 4-forkjoinknight1128
 
Hoisting Nested Functions
Hoisting Nested FunctionsHoisting Nested Functions
Hoisting Nested FunctionsFeras Tanan
 
Hoisting Nested Functions
Hoisting Nested Functions Hoisting Nested Functions
Hoisting Nested Functions Feras Tanan
 
Java8 - Interfaces, evolved
Java8 - Interfaces, evolvedJava8 - Interfaces, evolved
Java8 - Interfaces, evolvedCharles Casadei
 
Test-driven development for TYPO3 (T3DD11)
Test-driven development for TYPO3 (T3DD11)Test-driven development for TYPO3 (T3DD11)
Test-driven development for TYPO3 (T3DD11)Oliver Klee
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontendHeiko Hardt
 
Creational pattern 2
Creational pattern 2Creational pattern 2
Creational pattern 2Naga Muruga
 
Intro to Testing in Zope, Plone
Intro to Testing in Zope, PloneIntro to Testing in Zope, Plone
Intro to Testing in Zope, PloneQuintagroup
 
Unit Testing Standards - Recommended Best Practices
Unit Testing Standards - Recommended Best PracticesUnit Testing Standards - Recommended Best Practices
Unit Testing Standards - Recommended Best PracticesVitaliy Kulikov
 
How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?reallavalamp
 

What's hot (20)

Java Persistence API
Java Persistence APIJava Persistence API
Java Persistence API
 
Sqlapi0.1
Sqlapi0.1Sqlapi0.1
Sqlapi0.1
 
Magic methods
Magic methodsMagic methods
Magic methods
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Nhibernate Part 2
Nhibernate   Part 2Nhibernate   Part 2
Nhibernate Part 2
 
spring-tutorial
spring-tutorialspring-tutorial
spring-tutorial
 
Executing Sql Commands
Executing Sql CommandsExecuting Sql Commands
Executing Sql Commands
 
Jdk 7 4-forkjoin
Jdk 7 4-forkjoinJdk 7 4-forkjoin
Jdk 7 4-forkjoin
 
Hoisting Nested Functions
Hoisting Nested FunctionsHoisting Nested Functions
Hoisting Nested Functions
 
Hoisting Nested Functions
Hoisting Nested Functions Hoisting Nested Functions
Hoisting Nested Functions
 
Java
JavaJava
Java
 
Migrating to JUnit 5
Migrating to JUnit 5Migrating to JUnit 5
Migrating to JUnit 5
 
Java8 - Interfaces, evolved
Java8 - Interfaces, evolvedJava8 - Interfaces, evolved
Java8 - Interfaces, evolved
 
Test-driven development for TYPO3 (T3DD11)
Test-driven development for TYPO3 (T3DD11)Test-driven development for TYPO3 (T3DD11)
Test-driven development for TYPO3 (T3DD11)
 
FunctionalInterfaces
FunctionalInterfacesFunctionalInterfaces
FunctionalInterfaces
 
Testing the frontend
Testing the frontendTesting the frontend
Testing the frontend
 
Creational pattern 2
Creational pattern 2Creational pattern 2
Creational pattern 2
 
Intro to Testing in Zope, Plone
Intro to Testing in Zope, PloneIntro to Testing in Zope, Plone
Intro to Testing in Zope, Plone
 
Unit Testing Standards - Recommended Best Practices
Unit Testing Standards - Recommended Best PracticesUnit Testing Standards - Recommended Best Practices
Unit Testing Standards - Recommended Best Practices
 
How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?How Does Kubernetes Build OpenAPI Specifications?
How Does Kubernetes Build OpenAPI Specifications?
 

Viewers also liked

Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...Nicolas Bettenburg
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataNicolas Bettenburg
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Nicolas Bettenburg
 
Studying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityStudying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityNicolas Bettenburg
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsNicolas Bettenburg
 

Viewers also liked (7)

Managing Community Contributions: Lessons Learned from a Case Study on Andro...
Managing Community Contributions:  Lessons Learned from a Case Study on Andro...Managing Community Contributions:  Lessons Learned from a Case Study on Andro...
Managing Community Contributions: Lessons Learned from a Case Study on Andro...
 
A Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured DataA Lightweight Approach to Uncover Technical Information in Unstructured Data
A Lightweight Approach to Uncover Technical Information in Unstructured Data
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
 
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
Ph.D. Dissertation - Studying the Impact of Developer Communication on the Qu...
 
Studying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software QualityStudying the impact of Social Structures on Software Quality
Studying the impact of Social Structures on Software Quality
 
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction ModelsThink Locally, Act Gobally - Improving Defect and Effort Prediction Models
Think Locally, Act Gobally - Improving Defect and Effort Prediction Models
 
Ahmad Hasan CV
Ahmad Hasan CVAhmad Hasan CV
Ahmad Hasan CV
 

Similar to Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code

Csmr2012 bettenburg presentation
Csmr2012 bettenburg presentationCsmr2012 bettenburg presentation
Csmr2012 bettenburg presentationSAIL_QU
 
Nick Sieger JRuby Concurrency EMRubyConf 2011
Nick Sieger JRuby Concurrency EMRubyConf 2011Nick Sieger JRuby Concurrency EMRubyConf 2011
Nick Sieger JRuby Concurrency EMRubyConf 2011Nick Sieger
 
Spock: A Highly Logical Way To Test
Spock: A Highly Logical Way To TestSpock: A Highly Logical Way To Test
Spock: A Highly Logical Way To TestHoward Lewis Ship
 
Writing code that writes code - Nguyen Luong
Writing code that writes code - Nguyen LuongWriting code that writes code - Nguyen Luong
Writing code that writes code - Nguyen LuongVu Huy
 
TechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
TechkTalk #12 Grokking: Writing code that writes code – Nguyen LuongTechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
TechkTalk #12 Grokking: Writing code that writes code – Nguyen LuongGrokking VN
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotationjavatwo2011
 
create a new interface called DropoutStackADT for representing a dro.pdf
create a new interface called DropoutStackADT for representing a dro.pdfcreate a new interface called DropoutStackADT for representing a dro.pdf
create a new interface called DropoutStackADT for representing a dro.pdff3apparelsonline
 
Ast transformations
Ast transformationsAst transformations
Ast transformationsHamletDRC
 
Spock: Test Well and Prosper
Spock: Test Well and ProsperSpock: Test Well and Prosper
Spock: Test Well and ProsperKen Kousen
 
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdfarihantmobileselepun
 
Core java concepts
Core java  conceptsCore java  concepts
Core java conceptsRam132
 
Java9 Beyond Modularity - Java 9 más allá de la modularidad
Java9 Beyond Modularity - Java 9 más allá de la modularidadJava9 Beyond Modularity - Java 9 más allá de la modularidad
Java9 Beyond Modularity - Java 9 más allá de la modularidadDavid Gómez García
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfShaiAlmog1
 
Annotation Processing - Demystifying Java's Dark Arts
Annotation Processing - Demystifying Java's Dark ArtsAnnotation Processing - Demystifying Java's Dark Arts
Annotation Processing - Demystifying Java's Dark ArtsJames Kirkbride
 
Use of Apache Commons and Utilities
Use of Apache Commons and UtilitiesUse of Apache Commons and Utilities
Use of Apache Commons and UtilitiesPramod Kumar
 

Similar to Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code (20)

Csmr2012 bettenburg presentation
Csmr2012 bettenburg presentationCsmr2012 bettenburg presentation
Csmr2012 bettenburg presentation
 
Nick Sieger JRuby Concurrency EMRubyConf 2011
Nick Sieger JRuby Concurrency EMRubyConf 2011Nick Sieger JRuby Concurrency EMRubyConf 2011
Nick Sieger JRuby Concurrency EMRubyConf 2011
 
Junit and testNG
Junit and testNGJunit and testNG
Junit and testNG
 
Spock: A Highly Logical Way To Test
Spock: A Highly Logical Way To TestSpock: A Highly Logical Way To Test
Spock: A Highly Logical Way To Test
 
Writing code that writes code - Nguyen Luong
Writing code that writes code - Nguyen LuongWriting code that writes code - Nguyen Luong
Writing code that writes code - Nguyen Luong
 
TechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
TechkTalk #12 Grokking: Writing code that writes code – Nguyen LuongTechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
TechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
 
Spring data
Spring dataSpring data
Spring data
 
比XML更好用的Java Annotation
比XML更好用的Java Annotation比XML更好用的Java Annotation
比XML更好用的Java Annotation
 
Spock
SpockSpock
Spock
 
create a new interface called DropoutStackADT for representing a dro.pdf
create a new interface called DropoutStackADT for representing a dro.pdfcreate a new interface called DropoutStackADT for representing a dro.pdf
create a new interface called DropoutStackADT for representing a dro.pdf
 
Oop 1
Oop 1Oop 1
Oop 1
 
Ast transformations
Ast transformationsAst transformations
Ast transformations
 
Spock: Test Well and Prosper
Spock: Test Well and ProsperSpock: Test Well and Prosper
Spock: Test Well and Prosper
 
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf
(1)Objective Binary Search Tree traversal (2 points)Use traversal.pdf
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Java9 Beyond Modularity - Java 9 más allá de la modularidad
Java9 Beyond Modularity - Java 9 más allá de la modularidadJava9 Beyond Modularity - Java 9 más allá de la modularidad
Java9 Beyond Modularity - Java 9 más allá de la modularidad
 
55j7
55j755j7
55j7
 
create-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdfcreate-netflix-clone-02-server.pdf
create-netflix-clone-02-server.pdf
 
Annotation Processing - Demystifying Java's Dark Arts
Annotation Processing - Demystifying Java's Dark ArtsAnnotation Processing - Demystifying Java's Dark Arts
Annotation Processing - Demystifying Java's Dark Arts
 
Use of Apache Commons and Utilities
Use of Apache Commons and UtilitiesUse of Apache Commons and Utilities
Use of Apache Commons and Utilities
 

More from Nicolas Bettenburg

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...Nicolas Bettenburg
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelNicolas Bettenburg
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...Nicolas Bettenburg
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Nicolas Bettenburg
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesNicolas Bettenburg
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulNicolas Bettenburg
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived QualityNicolas Bettenburg
 
Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Nicolas Bettenburg
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And RecallNicolas Bettenburg
 
Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Nicolas Bettenburg
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07Nicolas Bettenburg
 

More from Nicolas Bettenburg (15)

10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
10 Year Impact Award Presentation - Duplicate Bug Reports Considered Harmful ...
 
Mud flash
Mud flashMud flash
Mud flash
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release LevelAn Empirical Study on Inconsistent Changes to Code Clones at Release Level
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
 
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
An Empirical Study on the Risks of Using Off-the-Shelf Techniques for Process...
 
Fuzzy Logic in Smart Homes
Fuzzy Logic in Smart HomesFuzzy Logic in Smart Homes
Fuzzy Logic in Smart Homes
 
Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*Finding Paths in Large Spaces - A* and Hierarchical A*
Finding Paths in Large Spaces - A* and Hierarchical A*
 
Automatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing ChangesAutomatic Identification of Bug Introducing Changes
Automatic Identification of Bug Introducing Changes
 
Cloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered HarmfulCloning Considered Harmful Considered Harmful
Cloning Considered Harmful Considered Harmful
 
Approximation Algorithms
Approximation AlgorithmsApproximation Algorithms
Approximation Algorithms
 
Predictors of Customer Perceived Quality
Predictors of Customer Perceived QualityPredictors of Customer Perceived Quality
Predictors of Customer Perceived Quality
 
Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.Extracting Structural Information from Bug Reports.
Extracting Structural Information from Bug Reports.
 
Computing Accuracy Precision And Recall
Computing Accuracy Precision And RecallComputing Accuracy Precision And Recall
Computing Accuracy Precision And Recall
 
Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?Duplicate Bug Reports Considered Harmful ... Really?
Duplicate Bug Reports Considered Harmful ... Really?
 
The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07The Quality of Bug Reports in Eclipse ETX'07
The Quality of Bug Reports in Eclipse ETX'07
 
Metropolis Instant Radiosity
Metropolis Instant RadiosityMetropolis Instant Radiosity
Metropolis Instant Radiosity
 

Recently uploaded

Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...RKavithamani
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 

Recently uploaded (20)

Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
Privatization and Disinvestment - Meaning, Objectives, Advantages and Disadva...
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 

Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code

  • 1. Using Fuzzy Code Search to Link Code Fragments in Discussions to Source Code Nicolas Bettenburg Stephen W. Thomas Ahmed E. Hassan Queen’s University Software Analysis and Intelligence Lab (SAIL) Kingston, Ontario, Canada
  • 2. “Given enough eyeballs, all bugs are shallow.” Eric S. Raymond - The Cathedral and the Bazaar 2
  • 3. Objective in this Study: Which parts of the source code did developers discuss? 3
  • 4. Objective in this Study: Which parts of the source code did developers discuss? Finding Associations of Discussions with Source Code Files 3
  • 5. Communication Source Code Repository Archive 4
  • 6. Communication Source Code Repository Archive 4
  • 7. Untitled 12-03-15 2:55 PM Untitled 12-03-15 2:55 PM this.opt_withObsolete = opt_withObsolete; Untitled } 12-03-15 2:55 PM /* (non-Javadoc) this.opt_withObsolete = opt_withObsolete; * @see main.IExperiment#getDescription() Untitled 12-03-15 2:55 PM } */ public String getDescription() { /* (non-Javadoc) String description = "We want to run an experiment all those bug this.opt_withObsolete = opt_withObsolete; * @see main.IExperiment#getDescription() reports.nt" } */ + "We extract the complete stacktrace information to study fix public String getDescription() { location and stacktrace interplay.nt"; /* (non-Javadoc) String description = "We want to run an experiment all those bug this.opt_withObsolete = opt_withObsolete; return description; * @see main.IExperiment#getDescription() reports.nt" } } */ + "We extract the complete stacktrace information to study fix public String getDescription() { location and stacktrace interplay.nt"; /* (non-Javadoc) /* (non-Javadoc) String description = "We want to run an experiment all those bug return description; * @see main.IExperiment#getDescription() * @see main.IExperiment#run() reports.nt" } */ */ + "We extract the complete stacktrace information to study fix public String getDescription() { public boolean run() { location and stacktrace interplay.nt"; /* (non-Javadoc) String description = "We want to run an experiment all those bug final boolean return = Main.isCli_withDebugMessages(); DEBUG description; * @see main.IExperiment#run()reports.nt" } */ + "We extract the complete stacktrace information to study fix // Select an appropriate database name on the server depending on the public boolean run() { location and stacktrace interplay.nt"; project demanded via command line options /* (non-Javadoc) final boolean return = Main.isCli_withDebugMessages(); DEBUG description; String dbName = ""; * @see main.IExperiment#run() } if (Main.getCli_project().equalsIgnoreCase("eclipse")) */ // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; public boolean run() { project demanded via command line options /* (non-Javadoc) else { final boolean DEBUG = Main.isCli_withDebugMessages(); String dbName = ""; * @see main.IExperiment#run() System.out.println("We currently only support the Eclipse database if (Main.getCli_project().equalsIgnoreCase("eclipse")) */ !"); // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; public boolean run() { System.exit(0); project demanded via command line options else { final boolean DEBUG = Main.isCli_withDebugMessages(); } String dbName = ""; System.out.println("We currently only support the Eclipse database if (Main.getCli_project().equalsIgnoreCase("eclipse")) !"); // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; System.exit(0); project demanded via command line options // Create the else {Database Connection } String dbName = ""; DatabaseConnector System.out.println("We currently only support the Eclipse database dbc = new DatabaseConnector(Main.getCli_dbHost(), if (Main.getCli_project().equalsIgnoreCase("eclipse")) Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); !"); dbName = "eclipse-december-2007"; dbc.initialize(); System.exit(0); // Create the else { Database Connection if (!dbc.connect()) { } DatabaseConnector System.out.println("We currently only support the Eclipse database dbc = new DatabaseConnector(Main.getCli_dbHost(), System.out.println("Could not connect to database. Check host, port Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); !"); , username and password."); dbc.initialize(); System.exit(0); System.exit(1); // Create the Database Connection if (!dbc.connect()) { } } DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), System.out.println("Could not connect to database. Check host, port Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following dbc.initialize(); System.exit(1); // Create the Database Connection query if (!dbc.connect()) { } DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port System.out.println("Could bug_id FROM bugzilla_bugs Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following dbc.initialize(); LIMIT " + Main.getCli_amount(); System.exit(1); query if (!dbc.connect()) { int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); } String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port System.out.println("Could bug_id FROM bugzilla_bugs int lastID = bugIDs[bugIDs.length -1]; WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following LIMIT " + Main.getCli_amount(); System.exit(1); if (DEBUG) query int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); } System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs String setSelectionQuery = "SELECT DISTINCT bug_id FROM int lastID = bugIDs[bugIDs.length -1]; reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC WHERE bug_id > " + Main.getCli_startID() " ORDER + // Fetch a number of Bug Report unique IDs belonging to the following Main.getCli_startID()); LIMIT " + Main.getCli_amount(); if (DEBUG) query int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs String setSelectionQuery = "SELECT DISTINCT bug_id FROM // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel int lastID = from the database using reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC WHERE bug_id > " + Main.getCli_startID() " ORDER + threads. Main.getCli_startID()); LIMIT " + Main.getCli_amount(); if (DEBUG) int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); System.out.println("* Attempting to fetch " + bugIDs.length + " // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel int lastID = from the database using reports from " + Main.getCli_dbHost() + " starting with ID " + threads. Main.getCli_startID()); if (DEBUG) System.out.println("* Attempting to fetch " + bugIDs.length + " // Collect the bug reports from the database using up to 100Page 2 of 4 parallel reports from " + Main.getCli_dbHost() + " starting with ID " + threads. Main.getCli_startID()); // Collect the bug reports from the database using up to 100Page 2 of 4 parallel threads. Page 2 of 4 Page 2 of 4 Communication Source Code Repository Archive 4
  • 8. Untitled 12-03-15 2:55 PM Untitled 12-03-15 2:55 PM this.opt_withObsolete = opt_withObsolete; Untitled } 12-03-15 2:55 PM /* (non-Javadoc) this.opt_withObsolete = opt_withObsolete; * @see main.IExperiment#getDescription() Untitled 12-03-15 2:55 PM } */ public String getDescription() { /* (non-Javadoc) String description = "We want to run an experiment all those bug this.opt_withObsolete = opt_withObsolete; * @see main.IExperiment#getDescription() reports.nt" } */ + "We extract the complete stacktrace information to study fix public String getDescription() { location and stacktrace interplay.nt"; /* (non-Javadoc) String description = "We want to run an experiment all those bug this.opt_withObsolete = opt_withObsolete; return description; * @see main.IExperiment#getDescription() reports.nt" } } */ + "We extract the complete stacktrace information to study fix public String getDescription() { location and stacktrace interplay.nt"; /* (non-Javadoc) /* (non-Javadoc) String description = "We want to run an experiment all those bug return description; * @see main.IExperiment#getDescription() * @see main.IExperiment#run() reports.nt" } */ */ + "We extract the complete stacktrace information to study fix public String getDescription() { public boolean run() { location and stacktrace interplay.nt"; /* (non-Javadoc) String description = "We want to run an experiment all those bug final boolean return = Main.isCli_withDebugMessages(); DEBUG description; * @see main.IExperiment#run()reports.nt" } */ + "We extract the complete stacktrace information to study fix // Select an appropriate database name on the server depending on the public boolean run() { location and stacktrace interplay.nt"; project demanded via command line options /* (non-Javadoc) Traceability final boolean return = Main.isCli_withDebugMessages(); DEBUG description; String dbName = ""; * @see main.IExperiment#run() } if (Main.getCli_project().equalsIgnoreCase("eclipse")) */ // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; public boolean run() { project demanded via command line options /* (non-Javadoc) else { final boolean DEBUG = Main.isCli_withDebugMessages(); String dbName = ""; * @see main.IExperiment#run() System.out.println("We currently only support the Eclipse database if (Main.getCli_project().equalsIgnoreCase("eclipse")) */ !"); // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; public boolean run() { System.exit(0); project demanded via command line options else { final boolean DEBUG = Main.isCli_withDebugMessages(); } String dbName = ""; System.out.println("We currently only support the Eclipse database if (Main.getCli_project().equalsIgnoreCase("eclipse")) !"); // Select an appropriate database name on the server depending on the dbName = "eclipse-december-2007"; System.exit(0); project demanded via command line options // Create the else {Database Connection } String dbName = ""; DatabaseConnector System.out.println("We currently only support the Eclipse database dbc = new DatabaseConnector(Main.getCli_dbHost(), if (Main.getCli_project().equalsIgnoreCase("eclipse")) Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); !"); dbName = "eclipse-december-2007"; dbc.initialize(); System.exit(0); // Create the else { Database Connection if (!dbc.connect()) { } DatabaseConnector System.out.println("We currently only support the Eclipse database dbc = new DatabaseConnector(Main.getCli_dbHost(), System.out.println("Could not connect to database. Check host, port Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); !"); , username and password."); dbc.initialize(); System.exit(0); Links System.exit(1); // Create the Database Connection if (!dbc.connect()) { } } DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), System.out.println("Could not connect to database. Check host, port Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following dbc.initialize(); System.exit(1); // Create the Database Connection query if (!dbc.connect()) { } DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port System.out.println("Could bug_id FROM bugzilla_bugs Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following dbc.initialize(); LIMIT " + Main.getCli_amount(); System.exit(1); query if (!dbc.connect()) { int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); } String setSelectionQuery = "SELECT DISTINCT not connect to database. Check host, port System.out.println("Could bug_id FROM bugzilla_bugs int lastID = bugIDs[bugIDs.length -1]; WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC , username and password."); // Fetch a number of Bug Report unique IDs belonging to the following LIMIT " + Main.getCli_amount(); System.exit(1); if (DEBUG) query int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); } System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs String setSelectionQuery = "SELECT DISTINCT bug_id FROM int lastID = bugIDs[bugIDs.length -1]; reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC WHERE bug_id > " + Main.getCli_startID() " ORDER + // Fetch a number of Bug Report unique IDs belonging to the following Main.getCli_startID()); LIMIT " + Main.getCli_amount(); if (DEBUG) query int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); System.out.println("* Attempting to fetch " + bugIDs.length + " bugzilla_bugs String setSelectionQuery = "SELECT DISTINCT bug_id FROM // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel int lastID = from the database using reports from " + Main.getCli_dbHost() + " starting +with ID " BY bug_id ASC WHERE bug_id > " + Main.getCli_startID() " ORDER + threads. Main.getCli_startID()); LIMIT " + Main.getCli_amount(); if (DEBUG) int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); System.out.println("* Attempting to fetch " + bugIDs.length + " // Collect the bug reports bugIDs[bugIDs.length -1];up to 100 parallel int lastID = from the database using reports from " + Main.getCli_dbHost() + " starting with ID " + threads. Main.getCli_startID()); if (DEBUG) System.out.println("* Attempting to fetch " + bugIDs.length + " // Collect the bug reports from the database using up to 100Page 2 of 4 parallel reports from " + Main.getCli_dbHost() + " starting with ID " + threads. Main.getCli_startID()); // Collect the bug reports from the database using up to 100Page 2 of 4 parallel threads. Page 2 of 4 Page 2 of 4 Communication Source Code Repository Archive 4
  • 9. 5
  • 10. 5
  • 12. 3 Approaches in the Past Change Log Analysis Information Retrieval Lightweight Textual Analysis 6
  • 13. Change Log Analysis Untitled 12-03-15 2:55 PM this.opt_withObsolete = opt_withObsolete; } /* (non-Javadoc) * @see main.IExperiment#getDescription() */ public String getDescription() { String description = "We want to run an experiment all those bug reports.nt" + "We extract the complete stacktrace information to study fix location and stacktrace interplay.nt"; return description; } /* (non-Javadoc) * @see main.IExperiment#run() LUCENE-2297: allow reader */ public boolean run() { final boolean DEBUG = Main.isCli_withDebugMessages(); // Select an appropriate database name on the server depending on the Untitled 12-03-15 2:55project demanded via command line options PM String dbName = ""; if (Main.getCli_project().equalsIgnoreCase("eclipse")) dbName = "eclipse-december-2007"; else { System.out.println("We currently only support the Eclipse database !"); this.opt_withObsolete = opt_withObsolete; System.exit(0); } } /* (non-Javadoc) * @see main.IExperiment#getDescription() // Create the Database Connection */ DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), public String getDescription() { Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); String description = "We want to run an experiment all those bug dbc.initialize(); reports.nt" if (!dbc.connect()) { pooling to be enabled (through + "We extract the complete stacktrace information to study fix System.out.println("Could not connect to database. Check host, port location and stacktrace interplay.nt"; , username and password."); return description; System.exit(1); } } /* (non-Javadoc) // Fetch a number of Bug Report unique IDs belonging to the following * @see main.IExperiment#run() query */ String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs public boolean run() { WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC final boolean DEBUG = Main.isCli_withDebugMessages(); LIMIT " + Main.getCli_amount(); int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); // Select an appropriate database name on the server depending on the int lastID = bugIDs[bugIDs.length -1]; project demanded via command line options String dbName = ""; if (DEBUG) if (Main.getCli_project().equalsIgnoreCase("eclipse")) System.out.println("* Attempting to fetch " + bugIDs.length + " dbName = "eclipse-december-2007"; reports from " + Main.getCli_dbHost() + " starting with ID " + else { Main.getCli_startID()); System.out.println("We currently only support the Eclipse database !"); // Collect the bug reports from the database using up to 100 parallel System.exit(0); threads. } IndexWriterConfig) even if Untitled // Create the DatabasePM 12-03-15 2:55 Connection Untitled DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), 12-03-15 2:55 PM Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); dbc.initialize(); Page 2 of 4 if (!dbc.connect()) { System.out.println("Could not connect to database. Check host, port this.opt_withObsolete = opt_withObsolete; , username and password."); } System.exit(1); this.opt_withObsolete = opt_withObsolete; } } /* (non-Javadoc) * @see main.IExperiment#getDescription() // Fetch a number of Bug Report unique IDs belonging to the following /* (non-Javadoc) */ query * @see main.IExperiment#getDescription() public String getDescription() { String setSelectionQuery = "SELECT DISTINCT bug_id FROM */bugzilla_bugs WHERE bug_id > " + Main.getCli_startID() + " ORDER public String getDescription() { String description = "We want to run an experiment all those bug BY bug_id ASC reports.nt" LIMIT " + Main.getCli_amount(); String description = "We want to run an experiment all those bug int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); + "We extract the complete stacktrace information to study fix reports.nt" location and stacktrace interplay.nt"; int lastID = bugIDs[bugIDs.length -1]; + "We extract the complete stacktrace information to study fix return description; location and stacktrace interplay.nt"; if (DEBUG) you're not pulling NRT reader. } return description; System.out.println("* Attempting to fetch " + bugIDs.length + " } /* (non-Javadoc) reports from " + Main.getCli_dbHost() + " starting with ID " + * @see main.IExperiment#run() Main.getCli_startID()); /* (non-Javadoc) */ * @see main.IExperiment#run() public boolean run() { // Collect the bug reports from the database using up to 100 parallel */ final boolean DEBUG = Main.isCli_withDebugMessages(); threads. public boolean run() { final boolean DEBUG = Main.isCli_withDebugMessages(); // Select an appropriate database name on the server depending on the project demanded via command line options // Select an appropriate database name on the server depending on the String dbName = ""; project demanded via command line options if (Main.getCli_project().equalsIgnoreCase("eclipse")) String dbName = ""; dbName = "eclipse-december-2007"; if (Main.getCli_project().equalsIgnoreCase("eclipse")) Page 2 of 4 else { dbName = "eclipse-december-2007"; System.out.println("We currently only support the Eclipse database else { !"); System.out.println("We currently only support the Eclipse database System.exit(0); !"); } System.exit(0); } // Create the Database Connection DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), // Create the Database Connection Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), dbc.initialize(); Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); if (!dbc.connect()) { dbc.initialize(); System.out.println("Could not connect to database. Check host, port if (!dbc.connect()) { , username and password."); System.out.println("Could not connect to database. Check host, port System.exit(1); , username and password."); } System.exit(1); } // Fetch a number of Bug Report unique IDs belonging to the following query // Fetch a number of Bug Report unique IDs belonging to the following String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs query WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs LIMIT " + Main.getCli_amount(); WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); LIMIT " + Main.getCli_amount(); int lastID = bugIDs[bugIDs.length -1]; int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); int lastID = bugIDs[bugIDs.length -1]; if (DEBUG) System.out.println("* Attempting to fetch " + bugIDs.length + " if (DEBUG) reports from " + Main.getCli_dbHost() + " starting with ID " + System.out.println("* Attempting to fetch " + bugIDs.length + " Main.getCli_startID()); reports from " + Main.getCli_dbHost() + " starting with ID " + Main.getCli_startID()); // Collect the bug reports from the database using up to 100 parallel threads. // Collect the bug reports from the database using up to 100 parallel threads. SVN Page 2 of 4 Page 2 of 4 7
  • 14. Change Log Analysis Untitled 12-03-15 2:55 PM this.opt_withObsolete = opt_withObsolete; } /* (non-Javadoc) * @see main.IExperiment#getDescription() */ public String getDescription() { String description = "We want to run an experiment all those bug reports.nt" + "We extract the complete stacktrace information to study fix location and stacktrace interplay.nt"; return description; } /* (non-Javadoc) * @see main.IExperiment#run() LUCENE-2297: allow reader */ public boolean run() { final boolean DEBUG = Main.isCli_withDebugMessages(); // Select an appropriate database name on the server depending on the Untitled 12-03-15 2:55project demanded via command line options PM String dbName = ""; if (Main.getCli_project().equalsIgnoreCase("eclipse")) dbName = "eclipse-december-2007"; else { System.out.println("We currently only support the Eclipse database !"); this.opt_withObsolete = opt_withObsolete; System.exit(0); } } /* (non-Javadoc) * @see main.IExperiment#getDescription() // Create the Database Connection */ DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), public String getDescription() { Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); String description = "We want to run an experiment all those bug dbc.initialize(); reports.nt" if (!dbc.connect()) { pooling to be enabled (through + "We extract the complete stacktrace information to study fix System.out.println("Could not connect to database. Check host, port location and stacktrace interplay.nt"; , username and password."); return description; System.exit(1); } } /* (non-Javadoc) // Fetch a number of Bug Report unique IDs belonging to the following * @see main.IExperiment#run() query */ String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs public boolean run() { WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC final boolean DEBUG = Main.isCli_withDebugMessages(); LIMIT " + Main.getCli_amount(); int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); // Select an appropriate database name on the server depending on the int lastID = bugIDs[bugIDs.length -1]; project demanded via command line options String dbName = ""; if (DEBUG) if (Main.getCli_project().equalsIgnoreCase("eclipse")) System.out.println("* Attempting to fetch " + bugIDs.length + " dbName = "eclipse-december-2007"; reports from " + Main.getCli_dbHost() + " starting with ID " + else { Main.getCli_startID()); System.out.println("We currently only support the Eclipse database !"); // Collect the bug reports from the database using up to 100 parallel System.exit(0); threads. } IndexWriterConfig) even if Untitled // Create the DatabasePM 12-03-15 2:55 Connection Untitled DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), 12-03-15 2:55 PM Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); dbc.initialize(); Page 2 of 4 if (!dbc.connect()) { System.out.println("Could not connect to database. Check host, port this.opt_withObsolete = opt_withObsolete; , username and password."); } System.exit(1); this.opt_withObsolete = opt_withObsolete; } } /* (non-Javadoc) * @see main.IExperiment#getDescription() // Fetch a number of Bug Report unique IDs belonging to the following /* (non-Javadoc) */ query * @see main.IExperiment#getDescription() public String getDescription() { String setSelectionQuery = "SELECT DISTINCT bug_id FROM */bugzilla_bugs WHERE bug_id > " + Main.getCli_startID() + " ORDER public String getDescription() { String description = "We want to run an experiment all those bug BY bug_id ASC reports.nt" LIMIT " + Main.getCli_amount(); String description = "We want to run an experiment all those bug int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); + "We extract the complete stacktrace information to study fix reports.nt" location and stacktrace interplay.nt"; int lastID = bugIDs[bugIDs.length -1]; + "We extract the complete stacktrace information to study fix return description; location and stacktrace interplay.nt"; if (DEBUG) you're not pulling NRT reader. } return description; System.out.println("* Attempting to fetch " + bugIDs.length + " } /* (non-Javadoc) reports from " + Main.getCli_dbHost() + " starting with ID " + * @see main.IExperiment#run() Main.getCli_startID()); /* (non-Javadoc) */ * @see main.IExperiment#run() public boolean run() { // Collect the bug reports from the database using up to 100 parallel */ final boolean DEBUG = Main.isCli_withDebugMessages(); threads. public boolean run() { final boolean DEBUG = Main.isCli_withDebugMessages(); // Select an appropriate database name on the server depending on the project demanded via command line options // Select an appropriate database name on the server depending on the String dbName = ""; project demanded via command line options if (Main.getCli_project().equalsIgnoreCase("eclipse")) String dbName = ""; dbName = "eclipse-december-2007"; if (Main.getCli_project().equalsIgnoreCase("eclipse")) Page 2 of 4 else { dbName = "eclipse-december-2007"; System.out.println("We currently only support the Eclipse database else { !"); System.out.println("We currently only support the Eclipse database System.exit(0); !"); } System.exit(0); } // Create the Database Connection DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), // Create the Database Connection Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); DatabaseConnector dbc = new DatabaseConnector(Main.getCli_dbHost(), dbc.initialize(); Main.getCli_dbUser(), Main.getCli_dbPass(), dbName); if (!dbc.connect()) { dbc.initialize(); System.out.println("Could not connect to database. Check host, port if (!dbc.connect()) { , username and password."); System.out.println("Could not connect to database. Check host, port System.exit(1); , username and password."); } System.exit(1); } // Fetch a number of Bug Report unique IDs belonging to the following query // Fetch a number of Bug Report unique IDs belonging to the following String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs query WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC String setSelectionQuery = "SELECT DISTINCT bug_id FROM bugzilla_bugs LIMIT " + Main.getCli_amount(); WHERE bug_id > " + Main.getCli_startID() + " ORDER BY bug_id ASC int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); LIMIT " + Main.getCli_amount(); int lastID = bugIDs[bugIDs.length -1]; int[] bugIDs = dbc.getIdSetByQuery(setSelectionQuery); int lastID = bugIDs[bugIDs.length -1]; if (DEBUG) System.out.println("* Attempting to fetch " + bugIDs.length + " if (DEBUG) reports from " + Main.getCli_dbHost() + " starting with ID " + System.out.println("* Attempting to fetch " + bugIDs.length + " Main.getCli_startID()); reports from " + Main.getCli_dbHost() + " starting with ID " + Main.getCli_startID()); // Collect the bug reports from the database using up to 100 parallel threads. // Collect the bug reports from the database using up to 100 parallel threads. SVN Page 2 of 4 Page 2 of 4 7