nus-yam/ex-repair huggingface dataset:
Program: 61420
Project: 61420
Buggy source:
/** 
 * Run the job using supplied arguments
 * @param input            the directory pathname for input points
 * @param clustersIn       the directory pathname for initial & computed clusters
 * @param output           the directory pathname for output points
 * @param measureClass     the classname of the DistanceMeasure
 * @param convergenceDelta the convergence delta value
 * @param maxIterations    the maximum number of iterations
 * @param jarLocation      The location of the Mahout jar
 */
public static void runJob(String input,String clustersIn,String output,String measureClass,String convergenceDelta,String maxIterations,String jarLocation){
  int maxIter=new Integer(maxIterations);
  try {
    JobConf conf=new JobConf(KMeansDriver.class);
    Path outPath=new Path(output);
    FileSystem fs=FileSystem.get(conf);
    if (fs.exists(outPath)) {
      fs.delete(outPath);
    }
    fs.mkdirs(outPath);
    boolean converged=false;
    int iteration=0;
    while (!converged && iteration < maxIter) {
      System.out.println("String_Node_Str" + iteration);
      String clustersOut=output + "String_Node_Str" + iteration;
      converged=runIteration(input,clustersIn,clustersOut,measureClass,convergenceDelta,jarLocation);
      clustersIn=output + "String_Node_Str" + iteration;
      iteration++;
    }
    System.out.println("String_Node_Str");
    runClustering(input,clustersIn,output + "String_Node_Str",measureClass,convergenceDelta,jarLocation);
  }
 catch (  Exception e) {
    throw new RuntimeException(e);
  }
}

Fixed version (ground truth):
/** 
 * Run the job using supplied arguments
 * @param input            the directory pathname for input points
 * @param clustersIn       the directory pathname for initial & computed clusters
 * @param output           the directory pathname for output points
 * @param measureClass     the classname of the DistanceMeasure
 * @param convergenceDelta the convergence delta value
 * @param maxIterations    the maximum number of iterations
 * @param jarLocation      The location of the Mahout jar
 */
public static void runJob(String input,String clustersIn,String output,String measureClass,String convergenceDelta,String maxIterations){
  int maxIter=new Integer(maxIterations);
  try {
    JobConf conf=new JobConf(KMeansDriver.class);
    Path outPath=new Path(output);
    FileSystem fs=FileSystem.get(conf);
    if (fs.exists(outPath)) {
      fs.delete(outPath);
    }
    fs.mkdirs(outPath);
    boolean converged=false;
    int iteration=0;
    while (!converged && iteration < maxIter) {
      System.out.println("String_Node_Str" + iteration);
      String clustersOut=output + "String_Node_Str" + iteration;
      converged=runIteration(input,clustersIn,clustersOut,measureClass,convergenceDelta);
      clustersIn=output + "String_Node_Str" + iteration;
      iteration++;
    }
    System.out.println("String_Node_Str");
    runClustering(input,clustersIn,output + "String_Node_Str",measureClass,convergenceDelta);
  }
 catch (  Exception e) {
    throw new RuntimeException(e);
  }
}
Program: 61421
Project: 61421
Buggy source:
public Matrix times(Matrix other) throws CardinalityException {
  int[] c=cardinality();
  int[] o=other.cardinality();
  if (c[COL] != o[ROW])   throw new CardinalityException();
  Matrix result=like(c[ROW],o[COL]);
  for (int row=0; row < c[ROW]; row++)   for (int col=0; col < c[COL]; col++) {
    double sum=0;
    for (int k=0; k < c[COL]; k++)     sum+=getQuick(row,k) * other.getQuick(k,col);
    result.setQuick(row,col,sum);
  }
  return result;
}

Fixed version (ground truth):
public Matrix times(Matrix other) throws CardinalityException {
  int[] c=cardinality();
  int[] o=other.cardinality();
  if (c[COL] != o[ROW])   throw new CardinalityException();
  Matrix result=like(c[ROW],o[COL]);
  for (int row=0; row < c[ROW]; row++)   for (int col=0; col < o[COL]; col++) {
    double sum=0;
    for (int k=0; k < c[COL]; k++)     sum+=getQuick(row,k) * other.getQuick(k,col);
    result.setQuick(row,col,sum);
  }
  return result;
}
Program: 61422
Project: 61422
Buggy source:
@Override public View getSelectedView(){
  throw new UnsupportedOperationException();
}

Fixed version (ground truth):
@Override public View getSelectedView(){
  return mTopCard;
}
Program: 61423
Project: 61423
Buggy source:
public CardModel(int cardImageResource){
  this.cardImageResource=cardImageResource;
  this.intent=intent;
}

Fixed version (ground truth):
public CardModel(int cardImageResource){
  this.cardImageResource=cardImageResource;
}
Program: 61424
Project: 61424
Buggy source:
public void translateCardToCenter(){
  AnimationSet animSet=new AnimationSet(true);
  TranslateAnimation anim=new TranslateAnimation(0,-getX(),0,-getY());
  anim.setDuration(600);
  anim.setAnimationListener(new TranslateAnimation.AnimationListener(){
    @Override public void onAnimationStart(    Animation animation){
    }
    @Override public void onAnimationRepeat(    Animation animation){
    }
    @Override public void onAnimationEnd(    Animation animation){
      setX(0);
      setY(0);
      setRotation(0);
      clearAnimation();
    }
  }
);
  animSet.addAnimation(anim);
  startAnimation(animSet);
}

Fixed version (ground truth):
public void translateCardToCenter(){
  AnimationSet animSet=new AnimationSet(true);
  TranslateAnimation anim=new TranslateAnimation(0,-getX(),0,-getY());
  anim.setDuration(600);
  anim.setAnimationListener(new TranslateAnimation.AnimationListener(){
    @Override public void onAnimationStart(    Animation animation){
    }
    @Override public void onAnimationRepeat(    Animation animation){
    }
    @Override public void onAnimationEnd(    Animation animation){
      setX(0);
      setY(0);
      clearAnimation();
    }
  }
);
  startAnimation(anim);
}
Program: 61425
Project: 61425
Buggy source:
@Override public void onAnimationEnd(Animation animation){
  setX(0);
  setY(0);
  setRotation(0);
  clearAnimation();
}

Fixed version (ground truth):
@Override public void onAnimationEnd(Animation animation){
  setX(0);
  setY(0);
  clearAnimation();
}
Program: 61426
Project: 61426
Buggy source:
public long addEvent(Event event,long userId,int eventTypeId){
  long id=numEvents.incrementAndGet();
  events.add(event);
  metaDatas.add(event.getMetaData(userId,eventTypeId));
  return id;
}

Fixed version (ground truth):
public long addEvent(Event event,long userId,int eventTypeId){
  int id=(int)numEvents.incrementAndGet();
  if (id >= events.length) {
synchronized (this) {
      if (id >= events.length) {
        Event[] newEvents=new Event[events.length * 2];
        System.arraycopy(events,0,newEvents,0,events.length);
        events=newEvents;
        Event.MetaData[] newMetaDatas=new Event.MetaData[events.length * 2];
        System.arraycopy(metaDatas,0,newMetaDatas,0,metaDatas.length);
        metaDatas=newMetaDatas;
      }
    }
  }
  events[id]=event;
  metaDatas[id]=event.getMetaData(userId,eventTypeId);
  return id;
}
Program: 61427
Project: 61427
Buggy source:
public static EventStorage build(){
  return new EventStorage(Lists.<Event>newArrayList(),Lists.<Event.MetaData>newArrayList(),new AtomicLong(-1));
}

Fixed version (ground truth):
public static EventStorage build(){
  return new EventStorage(new Event[1024],new Event.MetaData[1024],new AtomicLong(-1));
}
Program: 61428
Project: 61428
Buggy source:
public Event.MetaData getEventMetaData(long eventId){
  return metaDatas.get((int)eventId);
}

Fixed version (ground truth):
public Event.MetaData getEventMetaData(long eventId){
  return metaDatas[(int)eventId];
}
Program: 61429
Project: 61429
Buggy source:
private EventStorage(ArrayList<Event> events,ArrayList<Event.MetaData> metaDatas,AtomicLong numEvents){
  this.events=events;
  this.metaDatas=metaDatas;
  this.numEvents=numEvents;
}

Fixed version (ground truth):
private EventStorage(Event[] events,Event.MetaData[] metaDatas,AtomicLong numEvents){
  this.events=events;
  this.metaDatas=metaDatas;
  this.numEvents=numEvents;
}
Program: 61430
Project: 61430
Buggy source:
public static UserStorage build(){
  return new UserStorage(Lists.<User>newArrayList(),Lists.<User.MetaData>newArrayList(),Maps.<String,Long>newHashMap(),new AtomicLong(-1));
}

Fixed version (ground truth):
public static UserStorage build(){
  return new UserStorage(new User[1024],new User.MetaData[1024],Maps.<String,Long>newConcurrentMap(),new AtomicLong(-1));
}
Program: 61431
Project: 61431
Buggy source:
public long addUser(User user){
  long id=numEvents.incrementAndGet();
  users.add(user);
  idMap.put(user.getExternalId(),id);
  metaDatas.add(user.getMetaData());
  return id;
}

Fixed version (ground truth):
public long addUser(User user){
  int id=(int)numEvents.incrementAndGet();
  if (id >= users.length) {
synchronized (this) {
      if (id >= users.length) {
        User[] newUsers=new User[users.length * 2];
        System.arraycopy(users,0,newUsers,0,users.length);
        users=newUsers;
        User.MetaData[] newMetaDatas=new User.MetaData[users.length * 2];
        System.arraycopy(metaDatas,0,newMetaDatas,0,metaDatas.length);
        metaDatas=newMetaDatas;
      }
    }
  }
  users[id]=user;
  idMap.put(user.getExternalId(),new Long(id));
  metaDatas[id]=user.getMetaData();
  return id;
}
Program: 61432
Project: 61432
Buggy source:
private UserStorage(ArrayList<User> users,ArrayList<User.MetaData> metaDatas,Map<String,Long> idMap,AtomicLong numEvents){
  this.users=users;
  this.metaDatas=metaDatas;
  this.idMap=idMap;
  this.numEvents=numEvents;
}

Fixed version (ground truth):
private UserStorage(User[] users,User.MetaData[] metaDatas,Map<String,Long> idMap,AtomicLong numEvents){
  this.users=users;
  this.metaDatas=metaDatas;
  this.idMap=idMap;
  this.numEvents=numEvents;
}
Program: 61433
Project: 61433
Buggy source:
/** 
 * 获取铃声音量，需要WRITE_APN_SETTINGS权限
 * @param context 上下文
 * @return 铃声音量，取值范围为0-7；默认为0
 */
public static int getRingVolume(Context context){
  return Settings.System.getInt(context.getContentResolver(),Settings.System.VOLUME_RING,0);
}

Fixed version (ground truth):
/** 
 * 获取铃声音量，需要WRITE_APN_SETTINGS权限
 * @param context 上下文
 * @return 铃声音量，取值范围为0-7；默认为0
 */
public static int getRingVolume(Context context){
  return ((AudioManager)context.getSystemService(Context.AUDIO_SERVICE)).getStreamVolume(AudioManager.STREAM_RING);
}
Program: 61435
Project: 61435
Buggy source:
private void parseAttrs(Context context,AttributeSet attrs){
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.FButton);
  if (typedArray == null)   return;
  for (int i=0; i < typedArray.getIndexCount(); i++) {
    int attr=typedArray.getIndex(i);
    if (attr == R.styleable.FButton_shadowEnabled) {
      isShadowEnabled=typedArray.getBoolean(attr,true);
    }
 else     if (attr == R.styleable.FButton_buttonColor) {
      mButtonColor=typedArray.getColor(attr,R.color.button_default_color);
    }
 else     if (attr == R.styleable.FButton_shadowColor) {
      mShadowColor=typedArray.getColor(attr,R.color.button_default_shadow_color);
      isShadowColorDefined=true;
    }
 else     if (attr == R.styleable.FButton_shadowHeight) {
      mShadowHeight=typedArray.getDimensionPixelSize(attr,R.dimen.default_shadow_height);
    }
 else     if (attr == R.styleable.FButton_cornerRadius) {
      mCornerRadius=typedArray.getDimensionPixelSize(attr,R.dimen.default_conner_radius);
    }
  }
  typedArray.recycle();
}

Fixed version (ground truth):
private void parseAttrs(Context context,AttributeSet attrs){
  TypedArray typedArray=context.obtainStyledAttributes(attrs,R.styleable.FButton);
  if (typedArray == null)   return;
  for (int i=0; i < typedArray.getIndexCount(); i++) {
    int attr=typedArray.getIndex(i);
    if (attr == R.styleable.FButton_shadowEnabled) {
      isShadowEnabled=typedArray.getBoolean(attr,true);
    }
 else     if (attr == R.styleable.FButton_buttonColor) {
      mButtonColor=typedArray.getColor(attr,R.color.button_default_color);
    }
 else     if (attr == R.styleable.FButton_shadowColor) {
      mShadowColor=typedArray.getColor(attr,R.color.button_default_shadow_color);
      isShadowColorDefined=true;
    }
 else     if (attr == R.styleable.FButton_shadowHeight) {
      mShadowHeight=typedArray.getDimensionPixelSize(attr,R.dimen.default_shadow_height);
    }
 else     if (attr == R.styleable.FButton_cornerRadius) {
      mCornerRadius=typedArray.getDimensionPixelSize(attr,R.dimen.default_conner_radius);
    }
  }
  typedArray.recycle();
  int[] attrsArray=new int[]{android.R.attr.paddingLeft,android.R.attr.paddingRight};
  TypedArray ta=context.obtainStyledAttributes(attrs,attrsArray);
  if (ta == null)   return;
  mPaddingLeft=ta.getDimensionPixelSize(0,0);
  mPaddingRight=ta.getDimensionPixelSize(1,0);
  ta.recycle();
}
Program: 61436
Project: 61436
Buggy source:
@Override public boolean onTouch(View view,MotionEvent motionEvent){
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
    if (isShadowEnabled) {
      this.setPadding(getResources().getDimensionPixelSize(R.dimen.default_padding_left),getResources().getDimensionPixelSize(R.dimen.default_padding_top),getResources().getDimensionPixelSize(R.dimen.default_padding_right),0);
    }
  break;
case MotionEvent.ACTION_MOVE:
Rect r=new Rect();
view.getLocalVisibleRect(r);
if (!r.contains((int)motionEvent.getX(),(int)motionEvent.getY())) {
if (isShadowEnabled) {
this.setPadding(getResources().getDimensionPixelSize(R.dimen.default_padding_left),getResources().getDimensionPixelSize(R.dimen.default_shadow_height),getResources().getDimensionPixelSize(R.dimen.default_padding_right),getResources().getDimensionPixelSize(R.dimen.default_shadow_height));
}
}
break;
case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (isShadowEnabled) {
this.setPadding(getResources().getDimensionPixelSize(R.dimen.default_padding_left),getResources().getDimensionPixelSize(R.dimen.default_shadow_height),getResources().getDimensionPixelSize(R.dimen.default_padding_right),getResources().getDimensionPixelSize(R.dimen.default_shadow_height));
}
break;
}
return false;
}

Fixed version (ground truth):
@Override public boolean onTouch(View view,MotionEvent motionEvent){
switch (motionEvent.getAction()) {
case MotionEvent.ACTION_DOWN:
    if (isShadowEnabled) {
      this.setPadding(mPaddingLeft,mShadowHeight,mPaddingRight,0);
    }
  break;
case MotionEvent.ACTION_MOVE:
Rect r=new Rect();
view.getLocalVisibleRect(r);
if (!r.contains((int)motionEvent.getX(),(int)motionEvent.getY())) {
if (isShadowEnabled) {
this.setPadding(mPaddingLeft,mShadowHeight,mPaddingRight,mShadowHeight);
}
}
break;
case MotionEvent.ACTION_OUTSIDE:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
if (isShadowEnabled) {
this.setPadding(mPaddingLeft,mShadowHeight,mPaddingRight,mShadowHeight);
}
break;
}
return false;
}
Program: 61437
Project: 61437
Buggy source:
@Override protected void onFinishInflate(){
  super.onFinishInflate();
  refresh();
}

Fixed version (ground truth):
@Override protected void onFinishInflate(){
  super.onFinishInflate();
  refresh();
  if (isShadowEnabled) {
    this.setPadding(mPaddingLeft,mShadowHeight,mPaddingRight,mShadowHeight);
  }
}
Program: 61438
Project: 61438
Buggy source:
public void scale(double factor){
  scaleX*=factor;
  scaleY*=factor;
  rotateSkew0*=factor;
  rotateSkew1*=factor;
}

Fixed version (ground truth):
public void scale(double factorX,double factorY){
  scaleX*=factorX;
  scaleY*=factorY;
  rotateSkew0*=factorX;
  rotateSkew1*=factorY;
}
Program: 61439
Project: 61439
Buggy source:
public static Matrix getScaleInstance(double scale){
  Matrix mat=new Matrix();
  mat.scale(scale);
  return mat;
}

Fixed version (ground truth):
public static Matrix getScaleInstance(double scaleX,double scaleY){
  Matrix mat=new Matrix();
  mat.scale(scaleX,scaleY);
  return mat;
}
Program: 61442
Project: 61442
Buggy source:
public float getSwfFrameRate(int swfIndex){
  return headers.get(swfIndex).getFrameRate();
}

Fixed version (ground truth):
public float getSwfFrameRate(int swfIndex){
  return iggySwfs.get(swfIndex).getHdr().getFrameRate();
}
Program: 61443
Project: 61443
Buggy source:
public long getSwfYMax(int swfIndex){
  return headers.get(swfIndex).getYMax();
}

Fixed version (ground truth):
public long getSwfYMax(int swfIndex){
  return iggySwfs.get(swfIndex).getHdr().getYMax();
}
Program: 61444
Project: 61444
Buggy source:
public long getSwfYMin(int swfIndex){
  return headers.get(swfIndex).getYMin();
}

Fixed version (ground truth):
public long getSwfYMin(int swfIndex){
  return iggySwfs.get(swfIndex).getHdr().getYMin();
}
Program: 61445
Project: 61445
Buggy source:
public long getSwfXMax(int swfIndex){
  return headers.get(swfIndex).getXMax();
}

Fixed version (ground truth):
public long getSwfXMax(int swfIndex){
  return iggySwfs.get(swfIndex).getHdr().getXMax();
}
Program: 61446
Project: 61446
Buggy source:
public long getSwfXMin(int swfIndex){
  return headers.get(swfIndex).getXMin();
}

Fixed version (ground truth):
public long getSwfXMin(int swfIndex){
  return iggySwfs.get(swfIndex).getHdr().getXMin();
}
Program: 61448
Project: 61448
Buggy source:
private void reloadChildren(){
  InGetVariable igv=Main.getDebugHandler().getVariable(parentId,thisVar.name,true);
  childs=new ArrayList<>();
  childTraits=new ArrayList<>();
  if (thisVar.vType != VariableType.FUNCTION || ((thisVar.flags & VariableFlags.HAS_GETTER) > 0)) {
    thisVar=igv.parent;
  }
  Variable curTrait=null;
  for (int i=0; i < igv.childs.size(); i++) {
    if (!isTraits(igv.childs.get(i))) {
      childs.add(igv.childs.get(i));
      childTraits.add(curTrait);
    }
 else {
      curTrait=igv.childs.get(i);
    }
  }
}

Fixed version (ground truth):
private void reloadChildren(){
  childs=new ArrayList<>();
  childTraits=new ArrayList<>();
  InGetVariable igv=Main.getDebugHandler().getVariable(parentId,thisVar.name,true);
  if (thisVar.vType != VariableType.FUNCTION || ((thisVar.flags & VariableFlags.HAS_GETTER) > 0)) {
    if (parentId != 0) {
      thisVar=igv.parent;
    }
  }
  Variable curTrait=null;
  for (int i=0; i < igv.childs.size(); i++) {
    if (!isTraits(igv.childs.get(i))) {
      childs.add(igv.childs.get(i));
      childTraits.add(curTrait);
    }
 else {
      curTrait=igv.childs.get(i);
    }
  }
}
Program: 61450
Project: 61450
Buggy source:
public void exportXfl(AbortRetryIgnoreHandler handler,String outfile,String swfName,String generator,String generatorVerName,String generatorVersion,boolean parallel,FLAVersion version,XFLExportSettings settings) throws IOException, InterruptedException {
  XFLConverter.convertSWF(handler,this,swfName,outfile,settings,generator,generatorVerName,generatorVersion,parallel,version);
  clearAllCache();
}

Fixed version (ground truth):
public void exportXfl(AbortRetryIgnoreHandler handler,String outfile,String swfName,String generator,String generatorVerName,String generatorVersion,boolean parallel,FLAVersion version,XFLExportSettings settings) throws IOException, InterruptedException {
  new XFLConverter().convertSWF(handler,this,swfName,outfile,settings,generator,generatorVerName,generatorVersion,parallel,version);
  clearAllCache();
}
Program: 61452
Project: 61452
Buggy source:
private static String randomOutlineColor(){
  RGB outlineColor=new RGB();
  do {
    outlineColor.red=random.nextInt(256);
    outlineColor.green=random.nextInt(256);
    outlineColor.blue=random.nextInt(256);
  }
 while ((outlineColor.red + outlineColor.green + outlineColor.blue) / 3 < 128);
  return outlineColor.toHexRGB();
}

Fixed version (ground truth):
private String randomOutlineColor(){
  RGB outlineColor=new RGB();
  do {
    outlineColor.red=random.nextInt(256);
    outlineColor.green=random.nextInt(256);
    outlineColor.blue=random.nextInt(256);
  }
 while ((outlineColor.red + outlineColor.green + outlineColor.blue) / 3 < 128);
  return outlineColor.toHexRGB();
}
Program: 61458
Project: 61458
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(AsciiToCharActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(AsciiToCharActionItem.getResult(lda.pop()));
  return true;
}
Program: 61459
Project: 61459
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stage.callFrame(EcmaScript.toInt32(lda.stack.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stage.callFrame(EcmaScript.toInt32(lda.stack.pop()));
  return true;
}
Program: 61460
Project: 61460
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(CharToAsciiActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(CharToAsciiActionItem.getResult(lda.pop()));
  return true;
}
Program: 61461
Project: 61461
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  Object value=lda.localVariables.get(EcmaScript.toString(lda.pop()));
  if (value == null) {
    value=Undefined.INSTANCE;
  }
  lda.stack.push(value);
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  Object value=lda.localVariables.get(EcmaScript.toString(lda.pop()));
  if (value == null) {
    value=Undefined.INSTANCE;
  }
  lda.stack.push(value);
  return true;
}
Program: 61462
Project: 61462
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() < 1) {
    return false;
  }
  String frame=EcmaScript.toString(lda.stack.pop());
  String target="String_Node_Str";
  if (frame.contains("String_Node_Str")) {
    target=frame.substring(0,frame.indexOf("String_Node_Str"));
    frame=frame.substring(frame.indexOf("String_Node_Str") + 1);
  }
  if (frame.matches("String_Node_Str")) {
    int frameNum=Integer.parseInt(frame);
    if (target.equals("String_Node_Str")) {
      lda.stage.gotoFrame(frameNum);
    }
 else {
      Object member=lda.stage.getMember(target);
      if (member instanceof DisplayObject) {
        ((DisplayObject)member).gotoFrame(frameNum);
      }
    }
  }
 else {
    String frameLabel=frame;
    if (target.equals("String_Node_Str")) {
      lda.stage.gotoLabel(frameLabel);
    }
 else {
      Object member=lda.stage.getMember(target);
      if (member instanceof DisplayObject) {
        ((DisplayObject)member).gotoLabel(frameLabel);
      }
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  String frame=EcmaScript.toString(lda.stack.pop());
  String target="String_Node_Str";
  if (frame.contains("String_Node_Str")) {
    target=frame.substring(0,frame.indexOf("String_Node_Str"));
    frame=frame.substring(frame.indexOf("String_Node_Str") + 1);
  }
  if (frame.matches("String_Node_Str")) {
    int frameNum=Integer.parseInt(frame);
    if (target.equals("String_Node_Str")) {
      lda.stage.gotoFrame(frameNum);
    }
 else {
      Object member=lda.stage.getMember(target);
      if (member instanceof DisplayObject) {
        ((DisplayObject)member).gotoFrame(frameNum);
      }
    }
  }
 else {
    String frameLabel=frame;
    if (target.equals("String_Node_Str")) {
      lda.stage.gotoLabel(frameLabel);
    }
 else {
      Object member=lda.stage.getMember(target);
      if (member instanceof DisplayObject) {
        ((DisplayObject)member).gotoLabel(frameLabel);
      }
    }
  }
  return true;
}
Program: 61463
Project: 61463
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  if (EcmaScript.toBoolean(lda.pop())) {
    lda.jump=getTargetAddress();
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  if (EcmaScript.toBoolean(lda.pop())) {
    lda.jump=getTargetAddress();
  }
  return true;
}
Program: 61464
Project: 61464
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(MBAsciiToCharActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(MBAsciiToCharActionItem.getResult(lda.pop()));
  return true;
}
Program: 61465
Project: 61465
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(MBCharToAsciiActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(MBCharToAsciiActionItem.getResult(lda.pop()));
  return true;
}
Program: 61466
Project: 61466
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(MBStringLengthActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(MBStringLengthActionItem.getResult(lda.pop()));
  return true;
}
Program: 61467
Project: 61467
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(NotItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(NotItem.getResult(lda.pop()));
  return true;
}
Program: 61468
Project: 61468
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() < 1) {
    return false;
  }
  lda.stack.push(RandomNumberActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(RandomNumberActionItem.getResult(lda.pop()));
  return true;
}
Program: 61469
Project: 61469
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(StringLengthActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(StringLengthActionItem.getResult(lda.pop()));
  return true;
}
Program: 61470
Project: 61470
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(ToIntegerActionItem.getResult(lda.pop()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(ToIntegerActionItem.getResult(lda.pop()));
  return true;
}
Program: 61471
Project: 61471
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(DecrementActionItem.getResult(lda.popAsNumber()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(DecrementActionItem.getResult(lda.popAsNumber()));
  return true;
}
Program: 61472
Project: 61472
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  String memberName=lda.popAsString();
  Object o=lda.target;
  if (o instanceof ActionScriptObject) {
    ((ActionScriptObject)o).setMember(memberName,Undefined.INSTANCE);
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  String memberName=lda.popAsString();
  Object o=lda.target;
  if (o instanceof ActionScriptObject) {
    ((ActionScriptObject)o).setMember(memberName,Undefined.INSTANCE);
  }
  return true;
}
Program: 61473
Project: 61473
Buggy source:
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.size() == 0) {
    return false;
  }
  lda.stack.push(IncrementActionItem.getResult(lda.popAsNumber()));
  return true;
}

Fixed version (ground truth):
@Override public boolean execute(LocalDataArea lda){
  if (lda.stack.isEmpty()) {
    return false;
  }
  lda.stack.push(IncrementActionItem.getResult(lda.popAsNumber()));
  return true;
}
Program: 61474
Project: 61474
Buggy source:
public ForEachInAVM2Item(GraphSourceItem instruction,GraphSourceItem lineStartIns,Loop loop,InAVM2Item expression,List<GraphTargetItem> commands){
  super(instruction,lineStartIns,loop);
  if (!commands.isEmpty()) {
    GraphTargetItem firstAssign=commands.get(0);
    if (firstAssign instanceof SetTypeAVM2Item) {
      if (expression.object instanceof LocalRegAVM2Item) {
        if (((SetTypeAVM2Item)firstAssign).getValue().getNotCoerced() instanceof LocalRegAVM2Item) {
          if (((LocalRegAVM2Item)((SetTypeAVM2Item)firstAssign).getValue().getNotCoerced()).regIndex == ((LocalRegAVM2Item)expression.object).regIndex) {
            commands.remove(0);
            expression.object=((SetTypeAVM2Item)firstAssign).getObject();
          }
        }
      }
    }
  }
  this.expression=expression;
  this.commands=commands;
}

Fixed version (ground truth):
public ForEachInAVM2Item(GraphSourceItem instruction,GraphSourceItem lineStartIns,Loop loop,InAVM2Item expression,List<GraphTargetItem> commands){
  super(instruction,lineStartIns,loop);
  this.expression=expression;
  this.commands=commands;
}
Program: 61475
Project: 61475
Buggy source:
/** 
 * Traverse loops deep first search
 * @param localData
 * @param loopHeaders Resulting loop headers
 * @param b0 Current node
 * @param DFSP_pos Position in DFSP
 * @return innermost loop header of b0
 */
protected GraphPart trav_loops_DFS(BaseLocalData localData,List<GraphPart> loopHeaders,GraphPart b0,int DFSP_pos){
  List<GraphPart> folParts=new ArrayList<>(b0.nextParts);
  folParts.addAll(b0.throwParts);
  b0.traversed=true;
  b0.DFSP_pos=DFSP_pos;
  for (  GraphPart b : folParts) {
    b=checkPart(null,localData,b,null);
    if (b == null) {
      continue;
    }
    if (!b.traversed) {
      GraphPart nh=trav_loops_DFS(localData,loopHeaders,b,DFSP_pos + 1);
      tag_lhead(b0,nh);
    }
 else {
      if (b.DFSP_pos > 0) {
        if (b.type != GraphPart.TYPE_LOOP_HEADER) {
          b.type=GraphPart.TYPE_LOOP_HEADER;
          loopHeaders.add(b);
        }
        tag_lhead(b0,b);
      }
 else       if (b.iloop_header == null) {
      }
 else {
        GraphPart h=b.iloop_header;
        if (h.DFSP_pos > 0) {
          tag_lhead(b0,h);
        }
 else {
          b.type=GraphPart.TYPE_REENTRY;
          h.irreducible=true;
          while (h.iloop_header != null) {
            h=h.iloop_header;
            if (h.DFSP_pos > 0) {
              tag_lhead(b0,h);
              break;
            }
            h.irreducible=true;
          }
        }
      }
    }
  }
  b0.DFSP_pos=0;
  return b0.iloop_header;
}

Fixed version (ground truth):
/** 
 * Traverse loops deep first search
 * @param localData
 * @param loopHeaders Resulting loop headers
 * @param b0 Current node
 * @param DFSP_pos Position in DFSP
 * @return innermost loop header of b0
 */
protected GraphPart trav_loops_DFS(BaseLocalData localData,List<GraphPart> loopHeaders,GraphPart b0,int DFSP_pos){
  List<GraphPart> folParts=new ArrayList<>(b0.nextParts);
  folParts.addAll(b0.throwParts);
  b0.traversed=true;
  b0.DFSP_pos=DFSP_pos;
  for (  GraphPart b : folParts) {
    b=checkPart(null,localData,b,null);
    if (b == null) {
      continue;
    }
    if (!b.traversed) {
      GraphPart nh=trav_loops_DFS(localData,loopHeaders,b,DFSP_pos + 1);
      tag_lhead(b0,nh);
    }
 else     if (b.DFSP_pos > 0) {
      if (b.type != GraphPart.TYPE_LOOP_HEADER) {
        b.type=GraphPart.TYPE_LOOP_HEADER;
        loopHeaders.add(b);
      }
      tag_lhead(b0,b);
    }
 else     if (b.iloop_header == null) {
    }
 else {
      GraphPart h=b.iloop_header;
      if (h.DFSP_pos > 0) {
        tag_lhead(b0,h);
      }
 else {
        b.type=GraphPart.TYPE_REENTRY;
        h.irreducible=true;
        while (h.iloop_header != null) {
          h=h.iloop_header;
          if (h.DFSP_pos > 0) {
            tag_lhead(b0,h);
            break;
          }
          h.irreducible=true;
        }
      }
    }
  }
  b0.DFSP_pos=0;
  return b0.iloop_header;
}
Program: 61482
Project: 61482
Buggy source:
public void showSwf(SWF swf){
  Color backgroundColor=View.getDefaultBackgroundColor();
  for (  Tag t : swf.tags) {
    if (t instanceof SetBackgroundColorTag) {
      backgroundColor=((SetBackgroundColorTag)t).backgroundColor.toColor();
      break;
    }
  }
  if (tempFile != null) {
    tempFile.delete();
  }
  try {
    tempFile=File.createTempFile("String_Node_Str","String_Node_Str");
    try (OutputStream fos=new BufferedOutputStream(new FileOutputStream(tempFile))){
      swf.saveTo(fos);
    }
     if (swf.isAS3() && Configuration.autoOpenLoadedSWFs.get() && !Configuration.internalFlashViewer.get()&& !DebuggerTools.hasDebugger(swf)) {
      SWF instrSWF;
      try (FileInputStream fis=new FileInputStream(tempFile)){
        instrSWF=new SWF(fis,false,false);
      }
       DebuggerTools.switchDebugger(instrSWF);
      DebuggerTools.injectDebugLoader(instrSWF);
      try (OutputStream fos=new BufferedOutputStream(new FileOutputStream(tempFile))){
        instrSWF.saveTo(fos);
      }
     }
    flashPanel.displaySWF(tempFile.getAbsolutePath(),backgroundColor,swf.frameRate);
  }
 catch (  IOException iex) {
    Logger.getLogger(PreviewPanel.class.getName()).log(Level.SEVERE,"String_Node_Str",iex);
  }
catch (  InterruptedException ex) {
  }
}

Fixed version (ground truth):
public void showSwf(SWF swf){
  Color backgroundColor=View.getDefaultBackgroundColor();
  SetBackgroundColorTag setBgColorTag=swf.getBackgroundColor();
  if (setBgColorTag != null) {
    backgroundColor=setBgColorTag.backgroundColor.toColor();
  }
  if (tempFile != null) {
    tempFile.delete();
  }
  try {
    tempFile=File.createTempFile("String_Node_Str","String_Node_Str");
    try (OutputStream fos=new BufferedOutputStream(new FileOutputStream(tempFile))){
      swf.saveTo(fos);
    }
     if (swf.isAS3() && Configuration.autoOpenLoadedSWFs.get() && !Configuration.internalFlashViewer.get()&& !DebuggerTools.hasDebugger(swf)) {
      SWF instrSWF;
      try (FileInputStream fis=new FileInputStream(tempFile)){
        instrSWF=new SWF(fis,false,false);
      }
       DebuggerTools.switchDebugger(instrSWF);
      DebuggerTools.injectDebugLoader(instrSWF);
      try (OutputStream fos=new BufferedOutputStream(new FileOutputStream(tempFile))){
        instrSWF.saveTo(fos);
      }
     }
    flashPanel.displaySWF(tempFile.getAbsolutePath(),backgroundColor,swf.frameRate);
  }
 catch (  IOException iex) {
    Logger.getLogger(PreviewPanel.class.getName()).log(Level.SEVERE,"String_Node_Str",iex);
  }
catch (  InterruptedException ex) {
  }
}
Program: 61483
Project: 61483
Buggy source:
public String getBreakScriptName(){
  return breakScriptName;
}

Fixed version (ground truth):
public String getBreakScriptName(){
  if (!isPaused()) {
    return "String_Node_Str";
  }
  return breakScriptName;
}
Program: 61484
Project: 61484
Buggy source:
public int getBreakIp(){
  return breakIp;
}

Fixed version (ground truth):
public int getBreakIp(){
  if (!isPaused()) {
    return -1;
  }
  return breakIp;
}
Program: 61487
Project: 61487
Buggy source:
public static void freeRun(){
synchronized (Main.class) {
    if (runTempFile != null) {
      runTempFile.delete();
      runTempFile=null;
    }
    runProcess=null;
  }
  mainFrame.getPanel().clearDebuggerColors();
  if (runProcessDebug) {
    Main.getDebugHandler().disconnect();
  }
}

Fixed version (ground truth):
public static void freeRun(){
synchronized (Main.class) {
    if (runTempFile != null) {
      runTempFile.delete();
      runTempFile=null;
    }
    runProcess=null;
  }
  if (mainFrame != null && mainFrame.getPanel() != null) {
    mainFrame.getPanel().clearDebuggerColors();
  }
  if (runProcessDebug) {
    Main.getDebugHandler().disconnect();
  }
}
Program: 61490
Project: 61490
Buggy source:
private static void enlog(Class<?> cls){
  Level level=Level.INFO;
  Logger mylog=Logger.getLogger(cls.getName());
  mylog.setLevel(level);
  ConsoleHandler ch=new ConsoleHandler();
  ch.setLevel(level);
  mylog.addHandler(ch);
}

Fixed version (ground truth):
private static void enlog(Class<?> cls){
  Level level=Level.FINEST;
  Logger mylog=Logger.getLogger(cls.getName());
  mylog.setLevel(level);
  ConsoleHandler ch=new ConsoleHandler();
  ch.setLevel(level);
  mylog.addHandler(ch);
}
Program: 61496
Project: 61496
Buggy source:
private List<GraphSourceItem> generateIf(SourceGeneratorLocalData localData,GraphTargetItem expression,List<GraphTargetItem> onTrueCmds,List<GraphTargetItem> onFalseCmds,boolean ternar) throws CompilationException {
  List<GraphSourceItem> ret=new ArrayList<>();
  List<AVM2Instruction> onTrue=null;
  List<AVM2Instruction> onFalse=null;
  if (ternar) {
    onTrue=toInsList(onTrueCmds.get(0).toSource(localData,this));
  }
 else {
    onTrue=generateToInsList(localData,onTrueCmds);
  }
  if (onFalseCmds != null && !onFalseCmds.isEmpty()) {
    if (ternar) {
      onFalse=toInsList(onFalseCmds.get(0).toSource(localData,this));
    }
 else {
      onFalse=generateToInsList(localData,onFalseCmds);
    }
  }
  AVM2Instruction ajmp=null;
  if (onFalse != null) {
    if (!((!nonempty(onTrue).isEmpty()) && ((onTrue.get(onTrue.size() - 1).definition instanceof ContinueJumpIns) || ((onTrue.get(onTrue.size() - 1).definition instanceof BreakJumpIns))))) {
      ajmp=ins(AVM2Instructions.Jump,0);
      onTrue.add(ajmp);
    }
  }
  byte[] onTrueBytes=insToBytes(onTrue);
  int onTrueLen=onTrueBytes.length;
  ret.addAll(notCondition(localData,expression,onTrueLen));
  ret.addAll(onTrue);
  if (onFalse != null) {
    byte[] onFalseBytes=insToBytes(onFalse);
    int onFalseLen=onFalseBytes.length;
    if (ajmp != null) {
      ajmp.operands[0]=onFalseLen;
    }
    ret.addAll(onFalse);
  }
  return ret;
}

Fixed version (ground truth):
private List<GraphSourceItem> generateIf(SourceGeneratorLocalData localData,GraphTargetItem expression,List<GraphTargetItem> onTrueCmds,List<GraphTargetItem> onFalseCmds,boolean ternar) throws CompilationException {
  List<GraphSourceItem> ret=new ArrayList<>();
  List<AVM2Instruction> onTrue;
  List<AVM2Instruction> onFalse=null;
  if (ternar) {
    onTrue=toInsList(onTrueCmds.get(0).toSource(localData,this));
  }
 else {
    onTrue=generateToInsList(localData,onTrueCmds);
  }
  if (onFalseCmds != null && !onFalseCmds.isEmpty()) {
    if (ternar) {
      onFalse=toInsList(onFalseCmds.get(0).toSource(localData,this));
    }
 else {
      onFalse=generateToInsList(localData,onFalseCmds);
    }
  }
  AVM2Instruction ajmp=null;
  if (onFalse != null) {
    if (!((!nonempty(onTrue).isEmpty()) && ((onTrue.get(onTrue.size() - 1).definition instanceof ContinueJumpIns) || ((onTrue.get(onTrue.size() - 1).definition instanceof BreakJumpIns))))) {
      ajmp=ins(AVM2Instructions.Jump,0);
      onTrue.add(ajmp);
    }
  }
  byte[] onTrueBytes=insToBytes(onTrue);
  int onTrueLen=onTrueBytes.length;
  ret.addAll(notCondition(localData,expression,onTrueLen));
  ret.addAll(onTrue);
  if (onFalse != null) {
    byte[] onFalseBytes=insToBytes(onFalse);
    int onFalseLen=onFalseBytes.length;
    if (ajmp != null) {
      ajmp.operands[0]=onFalseLen;
    }
    ret.addAll(onFalse);
  }
  return ret;
}
Program: 61497
Project: 61497
Buggy source:
protected void indexTraits(ABC abc,int name_index,Traits ts,Map<PropertyDef,TraitIndex> map,Map<PropertyNsDef,TraitIndex> mapNs){
  for (  Trait t : ts.traits) {
    ValueKind propValue=null;
    if (t instanceof TraitSlotConst) {
      TraitSlotConst tsc=(TraitSlotConst)t;
      propValue=new ValueKind(tsc.value_index,tsc.value_kind);
    }
    if (map != null) {
      PropertyDef dp=new PropertyDef(t.getName(abc).getName(abc.constants,new ArrayList<>(),true),multinameToType(name_index,abc.constants),abc,abc.constants.getMultiname(t.name_index).namespace_index);
      map.put(dp,new TraitIndex(t,abc,getTraitReturnType(abc,t),propValue,multinameToType(name_index,abc.constants)));
    }
    if (mapNs != null) {
      Multiname m=abc.constants.getMultiname(t.name_index);
      PropertyNsDef ndp=new PropertyNsDef(t.getName(abc).getName(abc.constants,new ArrayList<>(),true),m == null || m.namespace_index == 0 ? DottedChain.EMPTY : m.getNamespace(abc.constants).getName(abc.constants),abc,m.namespace_index);
      TraitIndex ti=new TraitIndex(t,abc,getTraitReturnType(abc,t),propValue,multinameToType(name_index,abc.constants));
      if (!mapNs.containsKey(ndp)) {
        mapNs.put(ndp,ti);
      }
    }
  }
}

Fixed version (ground truth):
protected void indexTraits(ABC abc,int name_index,Traits ts,Map<PropertyDef,TraitIndex> map,Map<PropertyNsDef,TraitIndex> mapNs){
  for (  Trait t : ts.traits) {
    ValueKind propValue=null;
    if (t instanceof TraitSlotConst) {
      TraitSlotConst tsc=(TraitSlotConst)t;
      propValue=new ValueKind(tsc.value_index,tsc.value_kind);
    }
    if (map != null) {
      PropertyDef dp=new PropertyDef(t.getName(abc).getName(abc.constants,new ArrayList<>(),true),multinameToType(name_index,abc.constants),abc,abc.constants.getMultiname(t.name_index).namespace_index);
      map.put(dp,new TraitIndex(t,abc,getTraitReturnType(abc,t),propValue,multinameToType(name_index,abc.constants)));
    }
    if (mapNs != null) {
      Multiname m=abc.constants.getMultiname(t.name_index);
      PropertyNsDef ndp=new PropertyNsDef(t.getName(abc).getName(abc.constants,new ArrayList<>(),true),m == null || m.namespace_index == 0 ? DottedChain.EMPTY : m.getNamespace(abc.constants).getName(abc.constants),abc,m == null ? 0 : m.namespace_index);
      TraitIndex ti=new TraitIndex(t,abc,getTraitReturnType(abc,t),propValue,multinameToType(name_index,abc.constants));
      if (!mapNs.containsKey(ndp)) {
        mapNs.put(ndp,ti);
      }
    }
  }
}
Program: 61498
Project: 61498
Buggy source:
@Override public boolean equals(Object obj){
  if (obj == null) {
    return false;
  }
  if (getClass() != obj.getClass()) {
    return false;
  }
  final PropertyNsDef other=(PropertyNsDef)obj;
  if (!Objects.equals(this.propName,other.propName)) {
    return false;
  }
  if (!Objects.equals(this.ns,other.ns)) {
    return false;
  }
  if (this.propNsIndex != other.propNsIndex) {
    return false;
  }
  if (this.abc != other.abc) {
    return false;
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean equals(Object obj){
  if (obj == null) {
    return false;
  }
  if (getClass() != obj.getClass()) {
    return false;
  }
  final PropertyNsDef other=(PropertyNsDef)obj;
  if (!Objects.equals(this.propName,other.propName)) {
    return false;
  }
  if (!Objects.equals(this.ns,other.ns)) {
    return false;
  }
  if (this.propNsIndex != other.propNsIndex) {
    return false;
  }
  return (this.abc == other.abc);
}
Program: 61499
Project: 61499
Buggy source:
public void setPrivate(ABC abc,int propNsIndex){
  this.propNsIndex=propNsIndex;
  this.abc=abc;
}

Fixed version (ground truth):
private void setPrivate(ABC abc,int propNsIndex){
  this.propNsIndex=propNsIndex;
  this.abc=abc;
}
Program: 61503
Project: 61503
Buggy source:
public Multiname getName(ABC abc){
  if (name_index == 0) {
    return null;
  }
 else {
    return abc.constants.getMultiname(name_index);
  }
}

Fixed version (ground truth):
public final Multiname getName(ABC abc){
  if (name_index == 0) {
    return null;
  }
 else {
    return abc.constants.getMultiname(name_index);
  }
}
Program: 61504
Project: 61504
Buggy source:
public List<Entry<String,Map<String,String>>> getMetaDataTable(ABC abc){
  List<Entry<String,Map<String,String>>> ret=new ArrayList<>();
  for (  int m : metadata) {
    if (m >= 0 && m < abc.metadata_info.size()) {
      String name=abc.constants.getString(abc.metadata_info.get(m).name_index);
      Map<String,String> data=new HashMap<>();
      for (int i=0; i < abc.metadata_info.get(m).keys.length; i++) {
        data.put(abc.constants.getString(abc.metadata_info.get(m).keys[i]),abc.constants.getString(abc.metadata_info.get(m).values[i]));
      }
      ret.add(new SimpleEntry<>(name,data));
    }
  }
  return ret;
}

Fixed version (ground truth):
public final List<Entry<String,Map<String,String>>> getMetaDataTable(ABC abc){
  List<Entry<String,Map<String,String>>> ret=new ArrayList<>();
  for (  int m : metadata) {
    if (m >= 0 && m < abc.metadata_info.size()) {
      String name=abc.constants.getString(abc.metadata_info.get(m).name_index);
      Map<String,String> data=new HashMap<>();
      for (int i=0; i < abc.metadata_info.get(m).keys.length; i++) {
        data.put(abc.constants.getString(abc.metadata_info.get(m).keys[i]),abc.constants.getString(abc.metadata_info.get(m).values[i]));
      }
      ret.add(new SimpleEntry<>(name,data));
    }
  }
  return ret;
}
Program: 61505
Project: 61505
Buggy source:
protected DottedChain findCustomNs(int link_ns_index,ABC abc){
  String nsname="String_Node_Str";
  if (link_ns_index <= 0) {
    return null;
  }
  DottedChain name=abc.constants.getNamespace(link_ns_index).getName(abc.constants);
  for (  ABCContainerTag abcTag : abc.getAbcTags()) {
    DottedChain dc=abcTag.getABC().nsValueToName(name);
    nsname=dc.getLast();
    if (nsname == null) {
      break;
    }
    if (!nsname.isEmpty()) {
      return dc;
    }
  }
  return null;
}

Fixed version (ground truth):
protected final DottedChain findCustomNs(int link_ns_index,ABC abc){
  String nsname="String_Node_Str";
  if (link_ns_index <= 0) {
    return null;
  }
  DottedChain name=abc.constants.getNamespace(link_ns_index).getName(abc.constants);
  for (  ABCContainerTag abcTag : abc.getAbcTags()) {
    DottedChain dc=abcTag.getABC().nsValueToName(name);
    nsname=dc.getLast();
    if (nsname == null) {
      break;
    }
    if (!nsname.isEmpty()) {
      return dc;
    }
  }
  return null;
}
Program: 61506
Project: 61506
Buggy source:
public ClassPath getPath(ABC abc){
  Multiname name=getName(abc);
  Namespace ns=name.getNamespace(abc.constants);
  DottedChain packageName=ns.getName(abc.constants);
  String objectName=name.getName(abc.constants,null,true);
  return new ClassPath(packageName,objectName);
}

Fixed version (ground truth):
public final ClassPath getPath(ABC abc){
  Multiname name=getName(abc);
  Namespace ns=name.getNamespace(abc.constants);
  DottedChain packageName=ns.getName(abc.constants);
  String objectName=name.getName(abc.constants,null,true);
  return new ClassPath(packageName,objectName);
}