Program: 64675
Project: 64675
Buggy source:
/** 
 * @param args Command line arguments. The first (optional) argument specifiesthe problem to solve.
 * @throws org.uma.jmetal.util.JMetalException
 * @throws java.io.IOException
 * @throws SecurityException       Usage: three options - org.uma.jmetal.runner.multiobjective.SMPSORunner - org.uma.jmetal.runner.multiobjective.SMPSORunner problemName - org.uma.jmetal.runner.multiobjective.SMPSORunner problemName ParetoFrontFile
 */
public static void main(String[] args) throws Exception {
  Problem problem;
  Algorithm algorithm;
  Mutation mutation;
  QualityIndicatorGetter indicators;
  indicators=null;
  if (args.length == 1) {
    Object[] params={"String_Node_Str"};
    problem=(new ProblemFactory()).getProblem(args[0],params);
  }
 else   if (args.length == 2) {
    Object[] params={"String_Node_Str"};
    problem=(new ProblemFactory()).getProblem(args[0],params);
    indicators=new QualityIndicatorGetter(problem,args[1]);
  }
 else {
    problem=new Kursawe("String_Node_Str",3);
  }
  SolutionSetEvaluator evaluator=new SequentialSolutionSetEvaluator();
  Archive archive=new CrowdingArchive(100,problem.getNumberOfObjectives());
  mutation=new PolynomialMutation.Builder().setDistributionIndex(20.0).setProbability(1.0 / problem.getNumberOfVariables()).build();
  algorithm=new SMPSO.Builder(problem,archive,evaluator).setMutation(mutation).setMaxIterations(250).setSwarmSize(100).build();
  AlgorithmRunner algorithmRunner=new AlgorithmRunner.Executor(algorithm).execute();
  SolutionSet population=algorithmRunner.getSolutionSet();
  long computingTime=algorithmRunner.getComputingTime();
  new SolutionSetOutput.Printer(population).setSeparator("String_Node_Str").setVarFileOutputContext(new DefaultFileOutputContext("String_Node_Str")).setFunFileOutputContext(new DefaultFileOutputContext("String_Node_Str")).print();
  JMetalLogger.logger.info("String_Node_Str" + computingTime + "String_Node_Str");
  JMetalLogger.logger.info("String_Node_Str");
  JMetalLogger.logger.info("String_Node_Str");
  if (indicators != null) {
    JMetalLogger.logger.info("String_Node_Str");
    JMetalLogger.logger.info("String_Node_Str" + indicators.getHypervolume(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getGD(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getIGD(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getSpread(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getEpsilon(population));
  }
}

Fixed version (ground truth):
/** 
 * @param args Command line arguments. The first (optional) argument specifiesthe problem to solve.
 * @throws org.uma.jmetal.util.JMetalException
 * @throws java.io.IOException
 * @throws SecurityException       Usage: three options - org.uma.jmetal.runner.multiobjective.SMPSORunner - org.uma.jmetal.runner.multiobjective.SMPSORunner problemName - org.uma.jmetal.runner.multiobjective.SMPSORunner problemName ParetoFrontFile
 */
public static void main(String[] args) throws Exception {
  Problem problem;
  Algorithm algorithm;
  Mutation mutation;
  QualityIndicatorGetter indicators;
  indicators=null;
  if (args.length == 1) {
    Object[] params={"String_Node_Str"};
    problem=(new ProblemFactory()).getProblem(args[0],params);
  }
 else   if (args.length == 2) {
    Object[] params={"String_Node_Str"};
    problem=(new ProblemFactory()).getProblem(args[0],params);
    indicators=new QualityIndicatorGetter(problem,args[1]);
  }
 else {
    problem=new Fonseca("String_Node_Str");
  }
  SolutionSetEvaluator evaluator=new SequentialSolutionSetEvaluator();
  Archive archive=new CrowdingArchive(10,problem.getNumberOfObjectives());
  mutation=new PolynomialMutation.Builder().setDistributionIndex(20.0).setProbability(1.0 / problem.getNumberOfVariables()).build();
  algorithm=new SMPSO.Builder(problem,archive,evaluator).setMutation(mutation).setMaxIterations(2).setSwarmSize(10).build();
  AlgorithmRunner algorithmRunner=new AlgorithmRunner.Executor(algorithm).execute();
  SolutionSet population=algorithmRunner.getSolutionSet();
  long computingTime=algorithmRunner.getComputingTime();
  new SolutionSetOutput.Printer(population).setSeparator("String_Node_Str").setVarFileOutputContext(new DefaultFileOutputContext("String_Node_Str")).setFunFileOutputContext(new DefaultFileOutputContext("String_Node_Str")).print();
  JMetalLogger.logger.info("String_Node_Str" + computingTime + "String_Node_Str");
  JMetalLogger.logger.info("String_Node_Str");
  JMetalLogger.logger.info("String_Node_Str");
  if (indicators != null) {
    JMetalLogger.logger.info("String_Node_Str");
    JMetalLogger.logger.info("String_Node_Str" + indicators.getHypervolume(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getGD(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getIGD(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getSpread(population));
    JMetalLogger.logger.info("String_Node_Str" + indicators.getEpsilon(population));
  }
}