Program: 19681
Project: 19681
Buggy source:
public static void main(String[] argv){
  try {
    URL configURL=new File("String_Node_Str").toURI().toURL();
    ConfigurationManager cm=new ConfigurationManager(configURL);
    LogMath logMath=(LogMath)cm.lookup("String_Node_Str");
    Lattice lattice=new Lattice(logMath);
    Node a=lattice.addNode("String_Node_Str",0,0);
    Node b=lattice.addNode("String_Node_Str",0,0);
    Node c=lattice.addNode("String_Node_Str",0,0);
    Node d=lattice.addNode("String_Node_Str",0,0);
    double acousticAB=4;
    double acousticAC=6;
    double acousticCB=1;
    double acousticBD=5;
    double acousticCD=2;
    lattice.setInitialNode(a);
    lattice.setTerminalNode(d);
    lattice.addEdge(a,b,logMath.linearToLog(acousticAB),0);
    lattice.addEdge(a,c,logMath.linearToLog(acousticAC),0);
    lattice.addEdge(c,b,logMath.linearToLog(acousticCB),0);
    lattice.addEdge(b,d,logMath.linearToLog(acousticBD),0);
    lattice.addEdge(c,d,logMath.linearToLog(acousticCD),0);
    lattice.computeNodePosteriors(1.0f);
    double pathABD=acousticAB * acousticBD;
    double pathACBD=acousticAC * acousticCB * acousticBD;
    double pathACD=acousticAC * acousticCD;
    double allPaths=pathABD + pathACBD + pathACD;
    double bPosterior=(pathABD + pathACBD) / allPaths;
    double cPosterior=(pathACBD + pathACD) / allPaths;
    System.out.println("String_Node_Str" + logMath.logToLinear((float)a.getPosterior()) + "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)b.getPosterior()) + "String_Node_Str"+ bPosterior+ "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)c.getPosterior()) + "String_Node_Str"+ cPosterior+ "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)d.getPosterior()) + "String_Node_Str");
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}

Fixed version (ground truth):
public static void main(String[] argv){
  try {
    URL configURL=new File("String_Node_Str").toURI().toURL();
    ConfigurationManager cm=new ConfigurationManager(configURL);
    LogMath logMath=(LogMath)cm.lookup("String_Node_Str");
    Lattice lattice=new Lattice(logMath);
    Node a=lattice.addNode("String_Node_Str",0,0);
    Node b=lattice.addNode("String_Node_Str",0,0);
    Node c=lattice.addNode("String_Node_Str",0,0);
    Node d=lattice.addNode("String_Node_Str",0,0);
    double acousticAB=4;
    double acousticAC=6;
    double acousticCB=1;
    double acousticBD=5;
    double acousticCD=2;
    lattice.setInitialNode(a);
    lattice.setTerminalNode(d);
    lattice.addEdge(a,b,logMath.linearToLog(acousticAB),0);
    lattice.addEdge(a,c,logMath.linearToLog(acousticAC),0);
    lattice.addEdge(c,b,logMath.linearToLog(acousticCB),0);
    lattice.addEdge(b,d,logMath.linearToLog(acousticBD),0);
    lattice.addEdge(c,d,logMath.linearToLog(acousticCD),0);
    lattice.computeNodePosteriors(1.0f);
    double pathABD=acousticAB * acousticBD;
    double pathACBD=acousticAC * acousticCB * acousticBD;
    double pathACD=acousticAC * acousticCD;
    double allPaths=pathABD + pathACBD + pathACD;
    double bPosterior=(pathABD + pathACBD) / allPaths;
    double cPosterior=(pathACBD + pathACD) / allPaths;
    System.out.println("String_Node_Str" + logMath.logToLinear((float)a.getPosterior()) + "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)b.getPosterior()) + "String_Node_Str"+ bPosterior+ "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)c.getPosterior()) + "String_Node_Str"+ cPosterior+ "String_Node_Str");
    System.out.println("String_Node_Str" + logMath.logToLinear((float)d.getPosterior()) + "String_Node_Str");
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
catch (  PropertyException e) {
    System.err.println("String_Node_Str" + e);
    e.printStackTrace();
  }
}