Program: 149721
Project: 149721
Buggy source:
/** 
 * Print out a map of virtual memory useage by all spaces
 */
public static void printVMMap(){
  Log.writeln("String_Node_Str");
  Log.write("String_Node_Str");
  Log.writeln(HEAP_START);
  Log.write("String_Node_Str");
  Log.writeln(AVAILABLE_START);
  for (int i=0; i < spaceCount; i++) {
    Space space=spaces[i];
    for (int s=0; s < 11 - space.nameLength; s++)     Log.write("String_Node_Str");
    Log.write(space.name);
    Log.write("String_Node_Str");
    Log.write(space.immortal ? "String_Node_Str" : "String_Node_Str");
    Log.write(space.movable ? "String_Node_Str" : "String_Node_Str");
    if (space.contiguous) {
      Log.write("String_Node_Str");
      Log.write(space.start);
      Log.write("String_Node_Str");
      Log.write(space.start.plus(space.extent.minus(1)));
      if (space.vmRequest.type == VMRequest.REQUEST_EXTENT) {
        Log.write("String_Node_Str");
        Log.write(space.vmRequest.extent);
      }
 else       if (space.vmRequest.type == VMRequest.REQUEST_FRACTION) {
        Log.write("String_Node_Str");
        Log.write(space.vmRequest.frac);
      }
      Log.writeln();
    }
 else {
      Log.write("String_Node_Str");
      for (Address a=space.lastDiscontiguousRegion; !a.isZero(); a=Map.getNextContiguousRegion(a)) {
        Log.write(a);
        Log.write("String_Node_Str");
        Log.write(a.plus(Map.getContiguousRegionSize(a).minus(1)));
        if (Map.getNextContiguousRegion(a) != Address.zero())         Log.write("String_Node_Str");
      }
      Log.writeln("String_Node_Str");
    }
  }
  Log.write("String_Node_Str");
  Log.writeln(AVAILABLE_END);
  Log.write("String_Node_Str");
  Log.writeln(HEAP_END);
}

Fixed version (ground truth):
/** 
 * Print out a map of virtual memory useage by all spaces
 */
public static void printVMMap(){
  Log.writeln("String_Node_Str");
  Log.write("String_Node_Str");
  Log.writeln(HEAP_START);
  Log.write("String_Node_Str");
  Log.writeln(AVAILABLE_START);
  for (int i=0; i < spaceCount; i++) {
    Space space=spaces[i];
    for (int s=0; s < 11 - space.nameLength; s++)     Log.write("String_Node_Str");
    Log.write(space.name);
    Log.write("String_Node_Str");
    Log.write(space.immortal ? "String_Node_Str" : "String_Node_Str");
    Log.write(space.movable ? "String_Node_Str" : "String_Node_Str");
    if (space.contiguous) {
      Log.write("String_Node_Str");
      Log.write(space.start);
      Log.write("String_Node_Str");
      Log.write(space.start.plus(space.extent.minus(1)));
      if (space.vmRequest.type == VMRequest.REQUEST_EXTENT) {
        Log.write("String_Node_Str");
        Log.write(space.vmRequest.extent);
      }
 else       if (space.vmRequest.type == VMRequest.REQUEST_FRACTION) {
        Log.write("String_Node_Str");
        Log.write(space.vmRequest.frac);
      }
      Log.writeln();
    }
 else {
      Log.write("String_Node_Str");
      for (Address a=space.headDiscontiguousRegion; !a.isZero(); a=Map.getNextContiguousRegion(a)) {
        Log.write(a);
        Log.write("String_Node_Str");
        Log.write(a.plus(Map.getContiguousRegionSize(a).minus(1)));
        if (Map.getNextContiguousRegion(a) != Address.zero())         Log.write("String_Node_Str");
      }
      Log.writeln("String_Node_Str");
    }
  }
  Log.write("String_Node_Str");
  Log.writeln(AVAILABLE_END);
  Log.write("String_Node_Str");
  Log.writeln(HEAP_END);
}