Program: 38340
Project: 38340
Buggy source:
public JSZeroOrOneXCFABuilder(IClassHierarchy cha,JSAnalysisOptions options,AnalysisCache cache,ContextSelector appContextSelector,SSAContextInterpreter appContextInterpreter,int instancePolicy,boolean doOneCFA){
  super(cha,options,cache);
  SSAContextInterpreter contextInterpreter=makeDefaultContextInterpreters(appContextInterpreter,options,cha);
  if (options.handleCallApply()) {
    contextInterpreter=new DelegatingSSAContextInterpreter(new JavaScriptFunctionApplyContextInterpreter(options,cache),contextInterpreter);
  }
  setContextInterpreter(contextInterpreter);
  MethodTargetSelector targetSelector=new JavaScriptConstructTargetSelector(cha,options.getMethodTargetSelector());
  if (options.handleCallApply()) {
    targetSelector=new JavaScriptFunctionDotCallTargetSelector(targetSelector);
  }
  if (options.useLoadFileTargetSelector()) {
    targetSelector=new LoadFileTargetSelector(targetSelector,this);
  }
  options.setSelector(targetSelector);
  ContextSelector def=new ContextInsensitiveSelector();
  ContextSelector contextSelector=appContextSelector == null ? def : new DelegatingContextSelector(appContextSelector,def);
  contextSelector=new ScopeMappingKeysContextSelector(contextSelector);
  contextSelector=new JavaScriptConstructorContextSelector(contextSelector);
  if (USE_OBJECT_SENSITIVITY) {
    contextSelector=new ObjectSensitivityContextSelector(contextSelector);
  }
  if (options.handleCallApply()) {
    contextSelector=new JavaScriptFunctionApplyContextSelector(contextSelector);
  }
  contextSelector=new LexicalScopingResolverContexts(this,contextSelector);
  if (doOneCFA) {
    contextSelector=new nCFAContextSelector(1,contextSelector);
  }
  setContextSelector(contextSelector);
  setInstanceKeys(new JavaScriptScopeMappingInstanceKeys(cha,this,new JavaScriptConstructorInstanceKeys(new ZeroXInstanceKeys(options,cha,contextInterpreter,instancePolicy))));
}

Fixed version (ground truth):
public JSZeroOrOneXCFABuilder(IClassHierarchy cha,JSAnalysisOptions options,AnalysisCache cache,ContextSelector appContextSelector,SSAContextInterpreter appContextInterpreter,int instancePolicy,boolean doOneCFA){
  super(cha,options,cache);
  SSAContextInterpreter contextInterpreter=makeDefaultContextInterpreters(appContextInterpreter,options,cha);
  if (options.handleCallApply()) {
    contextInterpreter=new DelegatingSSAContextInterpreter(new JavaScriptFunctionApplyContextInterpreter(options,cache),contextInterpreter);
  }
  setContextInterpreter(contextInterpreter);
  MethodTargetSelector targetSelector=new JavaScriptConstructTargetSelector(cha,options.getMethodTargetSelector());
  if (options.handleCallApply()) {
    targetSelector=new JavaScriptFunctionApplyTargetSelector(new JavaScriptFunctionDotCallTargetSelector(targetSelector));
  }
  if (options.useLoadFileTargetSelector()) {
    targetSelector=new LoadFileTargetSelector(targetSelector,this);
  }
  options.setSelector(targetSelector);
  ContextSelector def=new ContextInsensitiveSelector();
  ContextSelector contextSelector=appContextSelector == null ? def : new DelegatingContextSelector(appContextSelector,def);
  contextSelector=new ScopeMappingKeysContextSelector(contextSelector);
  contextSelector=new JavaScriptConstructorContextSelector(contextSelector);
  if (USE_OBJECT_SENSITIVITY) {
    contextSelector=new ObjectSensitivityContextSelector(contextSelector);
  }
  if (options.handleCallApply()) {
    contextSelector=new JavaScriptFunctionApplyContextSelector(contextSelector);
  }
  contextSelector=new LexicalScopingResolverContexts(this,contextSelector);
  if (doOneCFA) {
    contextSelector=new nCFAContextSelector(1,contextSelector);
  }
  setContextSelector(contextSelector);
  setInstanceKeys(new JavaScriptScopeMappingInstanceKeys(cha,this,new JavaScriptConstructorInstanceKeys(new ZeroXInstanceKeys(options,cha,contextInterpreter,instancePolicy))));
}