Program: 90080
Project: 90080
Buggy source:
/** 
 * A machine is referring to an actual computer at a physical location,  which can have independent applications from the other machines at the  same location.
 * @param e The root of this instance in the XML document.
 * @param parentSettings The setting inherited by the parent.
 * @param param The machine parameters inherited by the parent.
 * @param netarchiveSuiteSource The name of the NetarchiveSuite package file.
 * @param logProp The logging property file.
 * @param securityPolicy The security policy file.
 * @param dbFileName The name of the database file.
 * @param resetDir Whether the temporary directory should be reset.
 */
public Machine(Element e,XmlStructure parentSettings,Parameters param,String netarchiveSuiteSource,File logProp,File securityPolicy,File dbFileName,boolean resetDir){
  ArgumentNotValid.checkNotNull(e,"String_Node_Str");
  ArgumentNotValid.checkNotNull(parentSettings,"String_Node_Str");
  ArgumentNotValid.checkNotNull(param,"String_Node_Str");
  ArgumentNotValid.checkNotNull(netarchiveSuiteSource,"String_Node_Str");
  ArgumentNotValid.checkNotNull(logProp,"String_Node_Str");
  ArgumentNotValid.checkNotNull(securityPolicy,"String_Node_Str");
  ArgumentNotValid.checkNotNull(resetDir,"String_Node_Str");
  settings=new XmlStructure(parentSettings.getRoot());
  machineRoot=e;
  machineParameters=new Parameters(param);
  netarchiveSuiteFileName=netarchiveSuiteSource;
  inheritedLogPropFile=logProp;
  inheritedSecurityPolicyFile=securityPolicy;
  databaseFile=dbFileName;
  resetTempDir=resetDir;
  Element tmpSet=machineRoot.element(Constants.SETTINGS_BRANCH);
  if (tmpSet != null) {
    settings.overWrite(tmpSet);
  }
  machineParameters.newParameters(machineRoot);
  extractVariables();
  extractApplications();
}

Fixed version (ground truth):
/** 
 * A machine is referring to an actual computer at a physical location,  which can have independent applications from the other machines at the  same location.
 * @param e The root of this instance in the XML document.
 * @param parentSettings The setting inherited by the parent.
 * @param param The machine parameters inherited by the parent.
 * @param netarchiveSuiteSource The name of the NetarchiveSuite package file.
 * @param logProp The logging property file.
 * @param securityPolicy The security policy file.
 * @param dbFileName The name of the database file.
 * @param resetDir Whether the temporary directory should be reset.
 */
public Machine(Element e,XmlStructure parentSettings,Parameters param,String netarchiveSuiteSource,File logProp,File securityPolicy,File dbFileName,boolean resetDir){
  ArgumentNotValid.checkNotNull(e,"String_Node_Str");
  ArgumentNotValid.checkNotNull(parentSettings,"String_Node_Str");
  ArgumentNotValid.checkNotNull(param,"String_Node_Str");
  ArgumentNotValid.checkNotNull(netarchiveSuiteSource,"String_Node_Str");
  ArgumentNotValid.checkNotNull(logProp,"String_Node_Str");
  ArgumentNotValid.checkNotNull(securityPolicy,"String_Node_Str");
  ArgumentNotValid.checkNotNull(resetDir,"String_Node_Str");
  settings=new XmlStructure(parentSettings.getRoot());
  machineRoot=e;
  machineParameters=new Parameters(param);
  netarchiveSuiteFileName=netarchiveSuiteSource;
  inheritedLogPropFile=logProp;
  inheritedSecurityPolicyFile=securityPolicy;
  databaseFile=dbFileName;
  resetTempDir=resetDir;
  Element tmpSet=machineRoot.element(Constants.COMPLETE_SETTINGS_BRANCH);
  if (tmpSet != null) {
    settings.overWrite(tmpSet);
  }
  machineParameters.newParameters(machineRoot);
  extractVariables();
  extractApplications();
}