Program: 87089
Project: 87089
Buggy source:
/** 
 * Entry point.
 * @param args it takes the kind of transaction that has to  be run. For ex- auth, sale
 */
public static void main(String[] args){
  String argument=args[0];
  Properties props=readCybsProperty();
  String requestID;
  String decision;
  Document authReply;
  Document captureReply;
  int choice=sample.enum_exist(argument);
switch (choice) {
case 0:
    authReply=runAuth(props,"String_Node_Str");
  if (authReply == null)   break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
break;
case 1:
authReply=runAuth(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
if (!(("String_Node_Str".equals(requestID)) && (decision.equalsIgnoreCase("String_Node_Str")))) {
runCapture(props,requestID,"String_Node_Str");
}
break;
case 2:
authReply=runAuthEMV(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
break;
case 3:
authReply=runAuth(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
captureReply=runCapture(props,requestID,"String_Node_Str");
requestID=getRequestID(captureReply);
decision=getDecisonCode(captureReply);
if (!(("String_Node_Str".equals(requestID)) && ("String_Node_Str".equalsIgnoreCase(decision)))) runCredit(props,requestID,"String_Node_Str");
break;
case 4:
authReply=runAuth(props,"String_Node_Str");
if (authReply=null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
if (!(("String_Node_Str".equals(requestID)) && "String_Node_Str".equalsIgnoreCase(decision))) runAuthReversal(props,requestID,"String_Node_Str");
break;
case 5:
runSale(props,"String_Node_Str");
break;
case -1:
System.out.println("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
break;
default :
break;
}
}

Fixed version (ground truth):
/** 
 * Entry point.
 * @param args it takes the kind of transaction that has to  be run. For ex- auth, sale
 */
public static void main(String[] args){
  String argument=args[0];
  Properties props=readCybsProperty();
  String requestID;
  String decision;
  Document authReply;
  Document captureReply;
  int choice=sample.enum_exist(argument);
switch (choice) {
case 0:
    authReply=runAuth(props,"String_Node_Str");
  if (authReply == null)   break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
break;
case 1:
authReply=runAuth(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
if (!(("String_Node_Str".equals(requestID)) && (decision.equalsIgnoreCase("String_Node_Str")))) {
runCapture(props,requestID,"String_Node_Str");
}
break;
case 2:
authReply=runAuthEMV(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
break;
case 3:
authReply=runAuth(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
captureReply=runCapture(props,requestID,"String_Node_Str");
requestID=getRequestID(captureReply);
decision=getDecisonCode(captureReply);
if (!(("String_Node_Str".equals(requestID)) && ("String_Node_Str".equalsIgnoreCase(decision)))) runCredit(props,requestID,"String_Node_Str");
break;
case 4:
authReply=runAuth(props,"String_Node_Str");
if (authReply == null) break;
requestID=getRequestID(authReply);
decision=getDecisonCode(authReply);
if (!(("String_Node_Str".equals(requestID)) && "String_Node_Str".equalsIgnoreCase(decision))) runAuthReversal(props,requestID,"String_Node_Str");
break;
case 5:
runSale(props,"String_Node_Str");
break;
case -1:
System.out.println("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
break;
default :
break;
}
}