Program: 54155
Project: 54155
Buggy source:
public void testSubList(){
  List<Integer> wrappedList=createListWithContent(new int[]{1,2,3,4,5});
  List<Integer> testList=wrappedList.subList(1,4);
  assertEquals(3,testList.size());
  assertEquals(testList,Arrays.asList(2,3,4));
  checkListSizeAndContent(testList,new int[]{2,3,4});
  testList.add(1,6);
  assertEquals(testList,Arrays.asList(2,6,3,4));
  checkListSizeAndContent(testList,new int[]{2,6,3,4});
  assertEquals(wrappedList,Arrays.asList(1,2,6,3,4,5));
  checkListSizeAndContent(wrappedList,new int[]{1,2,6,3,4,5});
  testList.remove(2);
  assertEquals(testList,Arrays.asList(2,6,4));
  checkListSizeAndContent(testList,new int[]{2,6,4});
  try {
    testList.remove(3);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  checkListSizeAndContent(wrappedList,new int[]{1,2,6,4,5});
  testList.set(0,7);
  checkListSizeAndContent(testList,new int[]{7,6,4});
  checkListSizeAndContent(wrappedList,new int[]{1,7,6,4,5});
  try {
    wrappedList.subList(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,15);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(5,1);
    fail("String_Node_Str");
  }
 catch (  IllegalArgumentException e) {
  }
  try {
    wrappedList.subList(0,1).add(2,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).add(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).get(1);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).get(-1);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).set(2,2);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).set(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
}

Fixed version (ground truth):
public void testSubList(){
  List<Integer> wrappedList=createListWithContent(new int[]{1,2,3,4,5});
  List<Integer> testList=wrappedList.subList(1,4);
  assertEquals(3,testList.size());
  assertEquals(testList,Arrays.asList(2,3,4));
  checkListSizeAndContent(testList,2,3,4);
  testList.add(1,6);
  assertEquals(testList,Arrays.asList(2,6,3,4));
  checkListSizeAndContent(testList,2,6,3,4);
  assertEquals(wrappedList,Arrays.asList(1,2,6,3,4,5));
  checkListSizeAndContent(wrappedList,1,2,6,3,4,5);
  testList.remove(2);
  assertEquals(testList,Arrays.asList(2,6,4));
  checkListSizeAndContent(testList,2,6,4);
  try {
    testList.remove(3);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  checkListSizeAndContent(wrappedList,1,2,6,4,5);
  testList.set(0,7);
  checkListSizeAndContent(testList,7,6,4);
  checkListSizeAndContent(wrappedList,1,7,6,4,5);
  try {
    wrappedList.subList(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,15);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(5,1);
    fail("String_Node_Str");
  }
 catch (  IllegalArgumentException e) {
  }
  try {
    wrappedList.subList(0,1).add(2,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).add(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).get(1);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).get(-1);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).set(2,2);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
  try {
    wrappedList.subList(0,1).set(-1,5);
    fail("String_Node_Str");
  }
 catch (  IndexOutOfBoundsException e) {
  }
}