Program: 43877
Project: 43877
Buggy source:
/** 
 * Create the frame.
 */
public AppFrame(){
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100,100,950,600);
  contentPane=new JPanel();
  contentPane.setBorder(new EmptyBorder(5,5,5,5));
  setContentPane(contentPane);
  GridBagLayout gbl_contentPane=new GridBagLayout();
  gbl_contentPane.columnWidths=new int[]{0,0,0,0};
  gbl_contentPane.rowHeights=new int[]{0,0,0,0,0,0,0};
  gbl_contentPane.columnWeights=new double[]{0.0,1.0,0.0,Double.MIN_VALUE};
  gbl_contentPane.rowWeights=new double[]{0.0,0.0,0.0,1.0,0.0,0.0,Double.MIN_VALUE};
  contentPane.setLayout(gbl_contentPane);
  JLabel lInput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lInput=new GridBagConstraints();
  gbc_lInput.insets=new Insets(0,0,5,5);
  gbc_lInput.anchor=GridBagConstraints.EAST;
  gbc_lInput.gridx=0;
  gbc_lInput.gridy=0;
  contentPane.add(lInput,gbc_lInput);
  tInput=new JTextField();
  GridBagConstraints gbc_tInput=new GridBagConstraints();
  gbc_tInput.insets=new Insets(0,0,5,5);
  gbc_tInput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tInput.gridx=1;
  gbc_tInput.gridy=0;
  contentPane.add(tInput,gbc_tInput);
  tInput.setColumns(10);
  JButton bOpen=new JButton("String_Node_Str");
  GridBagConstraints gbc_bOpen=new GridBagConstraints();
  gbc_bOpen.fill=GridBagConstraints.HORIZONTAL;
  gbc_bOpen.insets=new Insets(0,0,5,0);
  gbc_bOpen.gridx=2;
  gbc_bOpen.gridy=0;
  contentPane.add(bOpen,gbc_bOpen);
  bOpen.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      dialog.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          boolean ret=f.getName().toLowerCase().endsWith("String_Node_Str");
          ret=ret || f.isDirectory();
          return ret;
        }
      }
);
      int ret=dialog.showOpenDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        File file=dialog.getSelectedFile();
        try {
          converter.setFile(file);
          tInput.setText(file.getAbsolutePath());
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
  }
);
  JButton bConfigure=new JButton("String_Node_Str");
  GridBagConstraints gbc_bConfigure=new GridBagConstraints();
  gbc_bConfigure.anchor=GridBagConstraints.NORTHEAST;
  gbc_bConfigure.insets=new Insets(0,0,5,0);
  gbc_bConfigure.gridx=2;
  gbc_bConfigure.gridy=1;
  contentPane.add(bConfigure,gbc_bConfigure);
  bConfigure.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      ConfigDialog dialog=new ConfigDialog(configuration);
      dialog.setVisible(true);
      if (!dialog.isCanceled())       configuration=dialog.getConfiguration();
      System.out.println("String_Node_Str" + configuration);
    }
  }
);
  JPanel timePanel=new JPanel();
  GridBagConstraints gbc_timePanel=new GridBagConstraints();
  gbc_timePanel.fill=GridBagConstraints.HORIZONTAL;
  gbc_timePanel.insets=new Insets(0,0,5,5);
  gbc_timePanel.anchor=GridBagConstraints.NORTH;
  gbc_timePanel.gridwidth=2;
  gbc_timePanel.gridx=0;
  gbc_timePanel.gridy=2;
  contentPane.add(timePanel,gbc_timePanel);
  timePanel.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
  JLabel lFrom=new JLabel("String_Node_Str");
  timePanel.add(lFrom);
  final JSpinner sFrom=new JSpinner();
  sFrom.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sFrom);
  JLabel lTo=new JLabel("String_Node_Str");
  timePanel.add(lTo);
  final JSpinner sTo=new JSpinner();
  sTo.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sTo);
  JButton bPreview=new JButton("String_Node_Str");
  GridBagConstraints gbc_bPreview=new GridBagConstraints();
  gbc_bPreview.fill=GridBagConstraints.HORIZONTAL;
  gbc_bPreview.insets=new Insets(0,0,5,0);
  gbc_bPreview.gridx=2;
  gbc_bPreview.gridy=2;
  contentPane.add(bPreview,gbc_bPreview);
  bPreview.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      try {
        chart.reset();
        converter.reset();
        chartPanel.removeAll();
        configureConverter();
        Instances dataSet=converter.getDataSet();
        chart.buildContent(dataSet);
        chartPanel.add(chart.getChartPanel(),BorderLayout.CENTER);
        chartPanel.validate();
        chart.getChart().addProgressListener(new ChartListener(tDate));
      }
 catch (      IOException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  chartPanel=new JPanel(new BorderLayout());
  GridBagConstraints gbc_chartPanel=new GridBagConstraints();
  gbc_chartPanel.insets=new Insets(0,0,5,0);
  gbc_chartPanel.gridwidth=3;
  gbc_chartPanel.fill=GridBagConstraints.BOTH;
  gbc_chartPanel.gridx=0;
  gbc_chartPanel.gridy=3;
  contentPane.add(chartPanel,gbc_chartPanel);
  JPanel buttonPanel=new JPanel();
  GridBagConstraints gbc_buttonPanel=new GridBagConstraints();
  gbc_buttonPanel.insets=new Insets(0,0,5,5);
  gbc_buttonPanel.anchor=GridBagConstraints.SOUTHWEST;
  gbc_buttonPanel.gridwidth=2;
  gbc_buttonPanel.gridx=0;
  gbc_buttonPanel.gridy=4;
  contentPane.add(buttonPanel,gbc_buttonPanel);
  buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
  JLabel lDate=new JLabel("String_Node_Str");
  buttonPanel.add(lDate);
  tDate=new JFormattedTextField();
  tDate.setEditable(false);
  tDate.setColumns(20);
  buttonPanel.add(tDate);
  JButton bSaveAsFrom=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsFrom);
  bSaveAsFrom.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sFrom.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bSaveAsTo=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsTo);
  bSaveAsTo.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sTo.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bWrite=new JButton("String_Node_Str");
  GridBagConstraints gbc_btnNewButton=new GridBagConstraints();
  gbc_btnNewButton.fill=GridBagConstraints.HORIZONTAL;
  gbc_btnNewButton.insets=new Insets(0,0,5,0);
  gbc_btnNewButton.gridx=2;
  gbc_btnNewButton.gridy=4;
  contentPane.add(bWrite,gbc_btnNewButton);
  bWrite.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      JFileChooser dialog=new JFileChooser();
      String sep=System.getProperty("String_Node_Str");
      String out=tInput.getText();
      int index=out.lastIndexOf(sep);
      out=out.substring(index,out.length() - 3) + configuration.getOutput();
      dialog.setSelectedFile(new File(out.substring(0,index) + out));
      int ret=dialog.showSaveDialog(contentPane);
      if (ret != JFileChooser.APPROVE_OPTION)       return;
      outputFile=dialog.getSelectedFile();
      configureConverter();
      Date from=(Date)sFrom.getValue();
      Date to=(Date)sTo.getValue();
      Persister persister=new Persister(from,to,converter,configuration.isRelativeOutput());
      try {
        if (configuration.getOutput().equals("String_Node_Str"))         persister.persistAsARFF(outputFile);
 else         persister.persistAsCSV(outputFile,getAppFrame());
      }
 catch (      IOException e) {
        JOptionPane.showMessageDialog(contentPane,e.getMessage(),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
        e.printStackTrace();
      }
    }
  }
);
  progressBar=new JProgressBar();
  progressBar.setMaximum(100);
  progressBar.setMinimum(0);
  progressBar.setStringPainted(true);
  GridBagConstraints gbc_progressBar=new GridBagConstraints();
  gbc_progressBar.fill=GridBagConstraints.HORIZONTAL;
  gbc_progressBar.gridwidth=3;
  gbc_progressBar.gridx=0;
  gbc_progressBar.gridy=5;
  contentPane.add(progressBar,gbc_progressBar);
  chart.addPropertyChangeListener(this);
}

Fixed version (ground truth):
/** 
 * Create the frame.
 */
public AppFrame(){
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100,100,950,600);
  contentPane=new JPanel();
  contentPane.setBorder(new EmptyBorder(5,5,5,5));
  setContentPane(contentPane);
  GridBagLayout gbl_contentPane=new GridBagLayout();
  gbl_contentPane.columnWidths=new int[]{0,0,0,0};
  gbl_contentPane.rowHeights=new int[]{0,0,0,0,0,0,0};
  gbl_contentPane.columnWeights=new double[]{0.0,1.0,0.0,Double.MIN_VALUE};
  gbl_contentPane.rowWeights=new double[]{0.0,0.0,0.0,1.0,0.0,0.0,Double.MIN_VALUE};
  contentPane.setLayout(gbl_contentPane);
  JLabel lInput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lInput=new GridBagConstraints();
  gbc_lInput.insets=new Insets(0,0,5,5);
  gbc_lInput.anchor=GridBagConstraints.EAST;
  gbc_lInput.gridx=0;
  gbc_lInput.gridy=0;
  contentPane.add(lInput,gbc_lInput);
  tInput=new JTextField();
  GridBagConstraints gbc_tInput=new GridBagConstraints();
  gbc_tInput.insets=new Insets(0,0,5,5);
  gbc_tInput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tInput.gridx=1;
  gbc_tInput.gridy=0;
  contentPane.add(tInput,gbc_tInput);
  tInput.setColumns(10);
  JButton bOpen=new JButton("String_Node_Str");
  GridBagConstraints gbc_bOpen=new GridBagConstraints();
  gbc_bOpen.fill=GridBagConstraints.HORIZONTAL;
  gbc_bOpen.insets=new Insets(0,0,5,0);
  gbc_bOpen.gridx=2;
  gbc_bOpen.gridy=0;
  contentPane.add(bOpen,gbc_bOpen);
  bOpen.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      dialog.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          boolean ret=f.getName().toLowerCase().endsWith("String_Node_Str");
          ret=ret || f.isDirectory();
          return ret;
        }
      }
);
      int ret=dialog.showOpenDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        File file=dialog.getSelectedFile();
        try {
          converter.setFile(file);
          tInput.setText(file.getAbsolutePath());
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
  }
);
  JButton bConfigure=new JButton("String_Node_Str");
  GridBagConstraints gbc_bConfigure=new GridBagConstraints();
  gbc_bConfigure.anchor=GridBagConstraints.NORTHEAST;
  gbc_bConfigure.insets=new Insets(0,0,5,0);
  gbc_bConfigure.gridx=2;
  gbc_bConfigure.gridy=1;
  contentPane.add(bConfigure,gbc_bConfigure);
  bConfigure.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      ConfigDialog dialog=new ConfigDialog(configuration);
      dialog.setVisible(true);
      if (!dialog.isCanceled())       configuration=dialog.getConfiguration();
      System.out.println("String_Node_Str" + configuration);
    }
  }
);
  JPanel timePanel=new JPanel();
  GridBagConstraints gbc_timePanel=new GridBagConstraints();
  gbc_timePanel.fill=GridBagConstraints.HORIZONTAL;
  gbc_timePanel.insets=new Insets(0,0,5,5);
  gbc_timePanel.anchor=GridBagConstraints.NORTH;
  gbc_timePanel.gridwidth=2;
  gbc_timePanel.gridx=0;
  gbc_timePanel.gridy=2;
  contentPane.add(timePanel,gbc_timePanel);
  timePanel.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
  JLabel lFrom=new JLabel("String_Node_Str");
  timePanel.add(lFrom);
  final JSpinner sFrom=new JSpinner();
  sFrom.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sFrom);
  JLabel lTo=new JLabel("String_Node_Str");
  timePanel.add(lTo);
  final JSpinner sTo=new JSpinner();
  sTo.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sTo);
  JButton bPreview=new JButton("String_Node_Str");
  GridBagConstraints gbc_bPreview=new GridBagConstraints();
  gbc_bPreview.fill=GridBagConstraints.HORIZONTAL;
  gbc_bPreview.insets=new Insets(0,0,5,0);
  gbc_bPreview.gridx=2;
  gbc_bPreview.gridy=2;
  contentPane.add(bPreview,gbc_bPreview);
  bPreview.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      try {
        chart.reset();
        converter.reset();
        chartPanel.removeAll();
        configureConverter();
        Instances dataSet=converter.getDataSet();
        chart.buildContent(dataSet);
        chartPanel.add(chart.getChartPanel(),BorderLayout.CENTER);
        chartPanel.validate();
        chart.getChart().addProgressListener(new ChartListener(tDate));
      }
 catch (      IOException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  chartPanel=new JPanel(new BorderLayout());
  GridBagConstraints gbc_chartPanel=new GridBagConstraints();
  gbc_chartPanel.insets=new Insets(0,0,5,0);
  gbc_chartPanel.gridwidth=3;
  gbc_chartPanel.fill=GridBagConstraints.BOTH;
  gbc_chartPanel.gridx=0;
  gbc_chartPanel.gridy=3;
  contentPane.add(chartPanel,gbc_chartPanel);
  JPanel buttonPanel=new JPanel();
  GridBagConstraints gbc_buttonPanel=new GridBagConstraints();
  gbc_buttonPanel.insets=new Insets(0,0,5,5);
  gbc_buttonPanel.anchor=GridBagConstraints.SOUTHWEST;
  gbc_buttonPanel.gridwidth=2;
  gbc_buttonPanel.gridx=0;
  gbc_buttonPanel.gridy=4;
  contentPane.add(buttonPanel,gbc_buttonPanel);
  buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
  JLabel lDate=new JLabel("String_Node_Str");
  buttonPanel.add(lDate);
  tDate=new JFormattedTextField();
  tDate.setEditable(false);
  tDate.setColumns(20);
  buttonPanel.add(tDate);
  JButton bSaveAsFrom=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsFrom);
  bSaveAsFrom.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sFrom.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bSaveAsTo=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsTo);
  bSaveAsTo.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sTo.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bWrite=new JButton("String_Node_Str");
  GridBagConstraints gbc_btnNewButton=new GridBagConstraints();
  gbc_btnNewButton.fill=GridBagConstraints.HORIZONTAL;
  gbc_btnNewButton.insets=new Insets(0,0,5,0);
  gbc_btnNewButton.gridx=2;
  gbc_btnNewButton.gridy=4;
  contentPane.add(bWrite,gbc_btnNewButton);
  bWrite.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent event){
      JFileChooser dialog=new JFileChooser();
      String out=tInput.getText();
      int index=out.lastIndexOf(File.separator);
      String file=out.substring(index,out.length() - 3) + configuration.getOutput();
      dialog.setSelectedFile(new File(out.substring(0,index) + file));
      int ret=dialog.showSaveDialog(contentPane);
      if (ret != JFileChooser.APPROVE_OPTION)       return;
      outputFile=dialog.getSelectedFile();
      configureConverter();
      Date from=(Date)sFrom.getValue();
      Date to=(Date)sTo.getValue();
      Persister persister=new Persister(from,to,converter,configuration.isRelativeOutput());
      try {
        if (configuration.getOutput().equals("String_Node_Str"))         persister.persistAsARFF(outputFile);
 else         persister.persistAsCSV(outputFile,getAppFrame());
      }
 catch (      IOException e) {
        JOptionPane.showMessageDialog(contentPane,e.getMessage(),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
        e.printStackTrace();
      }
    }
  }
);
  progressBar=new JProgressBar();
  progressBar.setMaximum(100);
  progressBar.setMinimum(0);
  progressBar.setStringPainted(true);
  GridBagConstraints gbc_progressBar=new GridBagConstraints();
  gbc_progressBar.fill=GridBagConstraints.HORIZONTAL;
  gbc_progressBar.gridwidth=3;
  gbc_progressBar.gridx=0;
  gbc_progressBar.gridy=5;
  contentPane.add(progressBar,gbc_progressBar);
  chart.addPropertyChangeListener(this);
}