Program: 81232
Project: 81232
Buggy source:
public void test(TestHarness harness){
  harness.checkPoint("String_Node_Str");
  try {
    Security.addProvider(new JarsyncProvider());
    algorithm=MessageDigest.getInstance("String_Node_Str","String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
    throw new Error(x);
  }
  try {
    for (int i=0; i < 64; i++)     algorithm.update((byte)'a');
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    harness.verbose("String_Node_Str");
    for (int i=0; i < 536870913; i++)     algorithm.update((byte)'a');
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    System.err.println(Util.toHexString(md));
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    algorithm.update("String_Node_Str".getBytes(),0,1);
    clone=(MessageDigest)algorithm.clone();
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
    clone.update("String_Node_Str".getBytes(),0,2);
    md=clone.digest();
    exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
}

Fixed version (ground truth):
public void test(TestHarness harness){
  harness.checkPoint("String_Node_Str");
  try {
    Security.addProvider(new JarsyncProvider());
    algorithm=MessageDigest.getInstance("String_Node_Str","String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
    throw new Error(x);
  }
  try {
    for (int i=0; i < 64; i++)     algorithm.update((byte)'a');
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    harness.verbose("String_Node_Str");
    for (int i=0; i < 536870913; i++)     algorithm.update((byte)'a');
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    byte[] md=algorithm.digest("String_Node_Str".getBytes());
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
  try {
    algorithm.update("String_Node_Str".getBytes(),0,1);
    clone=(MessageDigest)algorithm.clone();
    byte[] md=algorithm.digest();
    String exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
    clone.update("String_Node_Str".getBytes(),0,2);
    md=clone.digest();
    exp="String_Node_Str";
    harness.check(exp.equals(Util.toHexString(md)),"String_Node_Str");
  }
 catch (  Exception x) {
    harness.debug(x);
    harness.fail("String_Node_Str");
  }
}