Program: 143737
Project: 143737
Buggy source:
/** 
 * @param functionName
 * @param l
 * @param args
 * @param sourceName
 * @param parentSourceCall 
 * @param innerFunction 
 * @param lineNumbers 
 * @param dataCallProfileDatas 
 */
public ProfileData(String functionName,long time,Object[] args,String sourceName,String parentSourceCall,boolean innerFunction,int[] lineNumbers,List<DataCallProfileData> dataCallProfileDatas){
  this.parentSourceCall=parentSourceCall;
  this.innerFunction=innerFunction;
  this.lineNumbers=lineNumbers;
  this.dataCallProfileDatas=dataCallProfileDatas;
  if (this.lineNumbers != null) {
    Arrays.sort(this.lineNumbers);
  }
  if (functionName.endsWith("String_Node_Str") && sourceName.endsWith("String_Node_Str")) {
    this.functionName=functionName.substring(0,functionName.length() - 1);
    this.isCalculation=true;
  }
 else {
    this.functionName=functionName;
    this.isCalculation=false;
  }
  this.time=time;
  this.args=args;
  this.sourceName=sourceName;
  for (int i=0; i < args.length; i++) {
    if (args[i] instanceof Wrapper) {
      args[i]=((Wrapper)args[i]).unwrap();
    }
    if (args[i] instanceof JSEvent) {
      JSEvent event=(JSEvent)args[i];
      StringBuilder sb=new StringBuilder();
      sb.append("String_Node_Str");
      boolean added=false;
      if (event.js_getType() != null) {
        sb.append("String_Node_Str");
        sb.append(event.js_getType());
        added=true;
      }
      if (event.js_getFormName() != null) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getFormName());
        added=true;
      }
      if (event.js_getElementName() != null) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getElementName());
        added=true;
      }
      if (event.js_getModifiers() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getModifiers());
        added=true;
      }
      if (event.js_getX() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getX());
        added=true;
      }
      if (event.js_getY() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getY());
        added=true;
      }
      sb.append("String_Node_Str");
      args[i]=sb.toString();
    }
  }
}

Fixed version (ground truth):
/** 
 * @param functionName
 * @param l
 * @param args
 * @param sourceName
 * @param parentSourceCall 
 * @param innerFunction 
 * @param lineNumbers 
 * @param dataCallProfileDatas 
 */
public ProfileData(String functionName,long time,Object[] args,String sourceName,String parentSourceCall,boolean innerFunction,int[] lineNumbers,List<DataCallProfileData> dataCallProfileDatas){
  this.parentSourceCall=parentSourceCall;
  this.innerFunction=innerFunction;
  this.lineNumbers=lineNumbers;
  this.dataCallProfileDatas=dataCallProfileDatas;
  if (this.lineNumbers != null) {
    Arrays.sort(this.lineNumbers);
  }
  if (functionName != null && functionName.endsWith("String_Node_Str") && sourceName.endsWith("String_Node_Str")) {
    this.functionName=functionName.substring(0,functionName.length() - 1);
    this.isCalculation=true;
  }
 else {
    this.functionName=functionName == null ? "String_Node_Str" : functionName;
    this.isCalculation=false;
  }
  this.time=time;
  this.args=args;
  this.sourceName=sourceName;
  for (int i=0; i < args.length; i++) {
    if (args[i] instanceof Wrapper) {
      args[i]=((Wrapper)args[i]).unwrap();
    }
    if (args[i] instanceof JSEvent) {
      JSEvent event=(JSEvent)args[i];
      StringBuilder sb=new StringBuilder();
      sb.append("String_Node_Str");
      boolean added=false;
      if (event.js_getType() != null) {
        sb.append("String_Node_Str");
        sb.append(event.js_getType());
        added=true;
      }
      if (event.js_getFormName() != null) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getFormName());
        added=true;
      }
      if (event.js_getElementName() != null) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getElementName());
        added=true;
      }
      if (event.js_getModifiers() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getModifiers());
        added=true;
      }
      if (event.js_getX() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getX());
        added=true;
      }
      if (event.js_getY() != 0) {
        if (added)         sb.append("String_Node_Str");
        sb.append("String_Node_Str");
        sb.append(event.js_getY());
        added=true;
      }
      sb.append("String_Node_Str");
      args[i]=sb.toString();
    }
  }
}