Program: 9845
Project: 9845
Buggy source:
/** 
 * Create the SPARQL and SQL models
 */
public static void initSparqlModel(TypeSystem typeSystem){
  S_Constant x;
  TypeMapper tm=TypeMapper.getInstance();
  String xxx="String_Node_Str";
  SqlTypeMapper stm=typeSystem.getSqlTypeMapper();
  stm.register(XSD.xstring.getURI(),new SqlDatatypeDefault(TypeToken.String,new NodeValueToObjectDefault()));
  stm.register(XSD.xboolean.getURI(),new SqlDatatypeDefault(TypeToken.Boolean,new NodeValueToObjectDefault()));
  CoercionSystemImpl3 cs=(CoercionSystemImpl3)typeSystem.getCoercionSystem();
  cs.registerCoercion(TypeToken.alloc(XSD.integer.toString()),TypeToken.Int,new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  ExprBindingSubstitutor exprBindingSubstitutor=new ExprBindingSubstitutorImpl();
  ExprEvaluator exprTransformer=SqlTranslationUtils.createDefaultEvaluator();
  TypedExprTransformer typedExprTransformer=new TypedExprTransformerImpl(typeSystem);
  DatatypeToStringPostgres typeSerializer=new DatatypeToStringPostgres();
  SqlLiteralMapper sqlLiteralMapper=new SqlLiteralMapperDefault(typeSerializer);
  SqlExprSerializerSystem serializerSystem=new SqlExprSerializerSystemImpl(typeSerializer,sqlLiteralMapper);
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.rdfTerm,TypeToken.rdfTerm);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_Equals(typeSystem);
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalAnd();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    SqlFunctionSerializer serializer=new SqlFunctionSerializerDefault("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalOr();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalNot();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp1("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
  }
  Expr e0=ExprUtils.parse("String_Node_Str");
  Expr a=ExprUtils.parse("String_Node_Str");
  Expr b=ExprUtils.parse("String_Node_Str");
  Expr c=ExprUtils.parse("String_Node_Str");
  Expr d=ExprUtils.parse("String_Node_Str");
  Expr e=ExprUtils.parse("String_Node_Str");
  Map<Var,Expr> binding=new HashMap<Var,Expr>();
  binding.put(Var.alloc("String_Node_Str"),a);
  binding.put(Var.alloc("String_Node_Str"),b);
  binding.put(Var.alloc("String_Node_Str"),c);
  binding.put(Var.alloc("String_Node_Str"),d);
  binding.put(Var.alloc("String_Node_Str"),e);
  Map<String,TypeToken> typeMap=new HashMap<String,TypeToken>();
  typeMap.put("String_Node_Str",TypeToken.String);
  typeMap.put("String_Node_Str",TypeToken.String);
  typeMap.put("String_Node_Str",TypeToken.Int);
  logger.debug("String_Node_Str" + e0);
  Expr e1=exprBindingSubstitutor.substitute(e0,binding);
  logger.debug("String_Node_Str" + e1);
  Expr e2=exprTransformer.transform(e1);
  logger.debug("String_Node_Str" + e2);
  ExprSqlRewrite e3=typedExprTransformer.rewrite(e2,typeMap);
  logger.debug("String_Node_Str" + e3);
  Expr et=e3.getExpr();
  if (et instanceof ExprSqlBridge) {
    ExprSqlBridge bridge=(ExprSqlBridge)et;
    SqlExpr ex=bridge.getSqlExpr();
    String e4=serializerSystem.serialize(ex);
    logger.debug("String_Node_Str" + e4);
  }
 else {
    logger.debug("String_Node_Str");
    logger.debug("String_Node_Str" + et);
    logger.debug("String_Node_Str" + e3.getProjection());
  }
}

Fixed version (ground truth):
/** 
 * Create the SPARQL and SQL models
 */
public static void initSparqlModel(TypeSystem typeSystem){
  S_Constant x;
  TypeMapper tm=TypeMapper.getInstance();
  String xxx="String_Node_Str";
  SqlTypeMapper stm=typeSystem.getSqlTypeMapper();
  stm.register(XSD.xstring.getURI(),new SqlDatatypeDefault(TypeToken.String,new NodeValueToObjectDefault()));
  stm.register(XSD.xboolean.getURI(),new SqlDatatypeDefault(TypeToken.Boolean,new NodeValueToObjectDefault()));
  CoercionSystemImpl3 cs=(CoercionSystemImpl3)typeSystem.getCoercionSystem();
  cs.registerCoercion(TypeToken.alloc(XSD.integer.toString()),TypeToken.Int,new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  cs.registerCoercion(TypeToken.String,TypeToken.alloc("String_Node_Str"),new SqlValueTransformerInteger());
  ExprBindingSubstitutor exprBindingSubstitutor=new ExprBindingSubstitutorImpl();
  ExprEvaluator exprTransformer=SqlTranslationUtils.createDefaultEvaluator();
  TypedExprTransformer typedExprTransformer=new TypedExprTransformerImpl(typeSystem);
  DatatypeToStringPostgres typeSerializer=new DatatypeToStringPostgres();
  SqlLiteralMapper sqlLiteralMapper=new SqlLiteralMapperDefault(typeSerializer);
  SqlExprSerializerSystem serializerSystem=new SqlExprSerializerSystemImpl(typeSerializer,sqlLiteralMapper);
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.rdfTerm,TypeToken.rdfTerm);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_Equals(typeSystem);
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalAnd();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    SqlFunctionSerializer serializer=new SqlFunctionSerializerDefault("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalOr();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp2("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
    MethodSignature<TypeToken> sig=MethodSignature.create(false,TypeToken.Boolean,TypeToken.Boolean);
    SqlExprEvaluator evaluator=new SqlExprEvaluator_LogicalNot();
    SparqlFunction f=new SparqlFunctionImpl("String_Node_Str",sig,evaluator,null);
    typeSystem.registerSparqlFunction(f);
    SqlFunctionSerializer serializer=new SqlFunctionSerializerOp1("String_Node_Str");
    serializerSystem.addSerializer("String_Node_Str",serializer);
  }
{
  }
  Expr e0=ExprUtils.parse("String_Node_Str");
  Expr a=ExprUtils.parse("String_Node_Str");
  Expr b=ExprUtils.parse("String_Node_Str");
  Expr c=ExprUtils.parse("String_Node_Str");
  Expr d=ExprUtils.parse("String_Node_Str");
  Expr e=ExprUtils.parse("String_Node_Str");
  Map<Var,Expr> binding=new HashMap<Var,Expr>();
  binding.put(Var.alloc("String_Node_Str"),a);
  binding.put(Var.alloc("String_Node_Str"),b);
  binding.put(Var.alloc("String_Node_Str"),c);
  binding.put(Var.alloc("String_Node_Str"),d);
  binding.put(Var.alloc("String_Node_Str"),e);
  Map<String,TypeToken> typeMap=new HashMap<String,TypeToken>();
  typeMap.put("String_Node_Str",TypeToken.String);
  typeMap.put("String_Node_Str",TypeToken.String);
  typeMap.put("String_Node_Str",TypeToken.Int);
  logger.debug("String_Node_Str" + e0);
  Expr e1=exprBindingSubstitutor.substitute(e0,binding);
  logger.debug("String_Node_Str" + e1);
  Expr e2=exprTransformer.transform(e1);
  logger.debug("String_Node_Str" + e2);
  ExprSqlRewrite e3=typedExprTransformer.rewrite(e2,typeMap);
  logger.debug("String_Node_Str" + e3);
  Expr et=e3.getExpr();
  if (et instanceof ExprSqlBridge) {
    ExprSqlBridge bridge=(ExprSqlBridge)et;
    SqlExpr ex=bridge.getSqlExpr();
    String e4=serializerSystem.serialize(ex);
    logger.debug("String_Node_Str" + e4);
  }
 else {
    logger.debug("String_Node_Str");
    logger.debug("String_Node_Str" + et);
    logger.debug("String_Node_Str" + e3.getProjection());
  }
}