Program: 74383
Project: 74383
Buggy source:
public final void transformation(AST _t) throws RecognitionException, PtalonRuntimeException {
  PtalonAST transformation_AST_in=(_t == ASTNULL) ? null : (PtalonAST)_t;
  returnAST=null;
  ASTPair currentAST=new ASTPair();
  PtalonAST transformation_AST=null;
  boolean emptyStart=true;
  AST __t83=_t;
  PtalonAST tmp40_AST=null;
  PtalonAST tmp40_AST_in=null;
  tmp40_AST=(PtalonAST)astFactory.create((PtalonAST)_t);
  tmp40_AST_in=(PtalonAST)_t;
  astFactory.addASTChild(currentAST,tmp40_AST);
  ASTPair __currentAST83=currentAST.copy();
  currentAST.root=currentAST.child;
  currentAST.child=null;
  match(_t,TRANSFORMATION);
  _t=_t.getFirstChild();
{
    if (_t == null)     _t=ASTNULL;
switch (_t.getType()) {
case STAR:
{
        PtalonAST tmp41_AST=null;
        PtalonAST tmp41_AST_in=null;
        tmp41_AST=(PtalonAST)astFactory.create((PtalonAST)_t);
        tmp41_AST_in=(PtalonAST)_t;
        astFactory.addASTChild(currentAST,tmp41_AST);
        match(_t,STAR);
        _t=_t.getNextSibling();
        emptyStart=false;
        break;
      }
case 3:
case PORT:
case INPORT:
case OUTPORT:
case PARAMETER:
case ACTOR:
case ITERATE:
case RELATION:
case TRANSPARENT:
case IF:
case FOR:
case ACTOR_DECLARATION:
case MULTIPORT:
case MULTIINPORT:
case MULTIOUTPORT:
case PARAM_EQUALS:
case ACTOR_EQUALS:
{
      break;
    }
default :
{
    throw new NoViableAltException(_t);
  }
}
}
info.enterTransformation(emptyStart);
{
_loop86: do {
if (_t == null) _t=ASTNULL;
switch (_t.getType()) {
case PORT:
case INPORT:
case OUTPORT:
case PARAMETER:
case ACTOR:
case ITERATE:
case RELATION:
case TRANSPARENT:
case ACTOR_DECLARATION:
case MULTIPORT:
case MULTIINPORT:
case MULTIOUTPORT:
case PARAM_EQUALS:
case ACTOR_EQUALS:
{
    atomic_statement(_t);
    _t=_retTree;
    astFactory.addASTChild(currentAST,returnAST);
    break;
  }
case IF:
{
  conditional_statement(_t);
  _t=_retTree;
  astFactory.addASTChild(currentAST,returnAST);
  break;
}
case FOR:
{
iterative_statement(_t);
_t=_retTree;
astFactory.addASTChild(currentAST,returnAST);
break;
}
default :
{
break _loop86;
}
}
}
 while (true);
}
currentAST=__currentAST83;
_t=__t83;
_t=_t.getNextSibling();
info.exitTransformation();
transformation_AST=(PtalonAST)currentAST.root;
returnAST=transformation_AST;
_retTree=_t;
}

Fixed version (ground truth):
public final void transformation(AST _t) throws RecognitionException, PtalonRuntimeException {
  PtalonAST transformation_AST_in=(_t == ASTNULL) ? null : (PtalonAST)_t;
  returnAST=null;
  ASTPair currentAST=new ASTPair();
  PtalonAST transformation_AST=null;
  boolean emptyStart=true;
  AST __t83=_t;
  PtalonAST tmp40_AST=null;
  PtalonAST tmp40_AST_in=null;
  tmp40_AST=(PtalonAST)astFactory.create((PtalonAST)_t);
  tmp40_AST_in=(PtalonAST)_t;
  astFactory.addASTChild(currentAST,tmp40_AST);
  ASTPair __currentAST83=currentAST.copy();
  currentAST.root=currentAST.child;
  currentAST.child=null;
  match(_t,TRANSFORMATION);
  _t=_t.getFirstChild();
{
    if (_t == null)     _t=ASTNULL;
switch (_t.getType()) {
case PLUS:
{
        PtalonAST tmp41_AST=null;
        PtalonAST tmp41_AST_in=null;
        tmp41_AST=(PtalonAST)astFactory.create((PtalonAST)_t);
        tmp41_AST_in=(PtalonAST)_t;
        astFactory.addASTChild(currentAST,tmp41_AST);
        match(_t,PLUS);
        _t=_t.getNextSibling();
        emptyStart=false;
        break;
      }
case 3:
case PORT:
case INPORT:
case OUTPORT:
case PARAMETER:
case ACTOR:
case ITERATE:
case RELATION:
case TRANSPARENT:
case IF:
case FOR:
case ACTOR_DECLARATION:
case MULTIPORT:
case MULTIINPORT:
case MULTIOUTPORT:
case PARAM_EQUALS:
case ACTOR_EQUALS:
{
      break;
    }
default :
{
    throw new NoViableAltException(_t);
  }
}
}
info.enterTransformation(emptyStart);
{
_loop86: do {
if (_t == null) _t=ASTNULL;
switch (_t.getType()) {
case PORT:
case INPORT:
case OUTPORT:
case PARAMETER:
case ACTOR:
case ITERATE:
case RELATION:
case TRANSPARENT:
case ACTOR_DECLARATION:
case MULTIPORT:
case MULTIINPORT:
case MULTIOUTPORT:
case PARAM_EQUALS:
case ACTOR_EQUALS:
{
    atomic_statement(_t);
    _t=_retTree;
    astFactory.addASTChild(currentAST,returnAST);
    break;
  }
case IF:
{
  conditional_statement(_t);
  _t=_retTree;
  astFactory.addASTChild(currentAST,returnAST);
  break;
}
case FOR:
{
iterative_statement(_t);
_t=_retTree;
astFactory.addASTChild(currentAST,returnAST);
break;
}
default :
{
break _loop86;
}
}
}
 while (true);
}
currentAST=__currentAST83;
_t=__t83;
_t=_t.getNextSibling();
info.exitTransformation();
transformation_AST=(PtalonAST)currentAST.root;
returnAST=transformation_AST;
_retTree=_t;
}